What is the difference between future and promise in vertx?

The best I've read about:

think on Promise as producer (used by producer on one side of async operation) and Future as consumer (used by consumer on the other side).

Futures vs. Promises


Promise are for defining non-blocking operations, and it's future() method returns the Future associated with a promise, to get notified of the promise completion and retrieve its value. The Future interface is the result of an action that may, or may not, have occurred yet.