Описание тега promise

Promises are a tactic for deferred computing, suitable for several styles of concurrency: thread and event loop concurrency for local computation, and both synchronous and asynchronous remote messaging. A promise represents the eventual result of an asynchronous operation. The primary way of working with promises is through a method which registers transformations from the promise's eventual value or failure reason to a new promise.

In computer science, future, promise, and delay refer to constructs used for synchronizing in some concurrent programming languages. They describe an object that acts as a proxy for a result that is initially unknown, usually because the computation of its value is yet incomplete.

Promises are a common construct in javascript with new built in language support. There are several popular implementations of the concept such as bluebird and q. However, promises are not unique in JavaScript and similar patterns exist in many languages. Popular implementations exist in python, objective-c, c++, javascript, scala, dart, c# and most other languages. Some languages provide native language support for the construct.

Recurring questions:

Reading material:

Popular Implementations: