Promises/A+

An open standard for sound, interoperable JavaScript promises—by implementers, for implementers. A promise represents the eventual result of an asynchronous operation. The primary way of interacting with a promise is through its then method, which registers callbacks to receive either a promise’s eventual value or the reason why the promise cannot be fulfilled. via Promises/A+.