Promises are part of the ECMAScript 2015 specification and browser support is limited, with 88% of browsers worldwide supporting it as of July 2017.
In environments which do not support them, Promise
can be polyfilled. Third-party libraries may also provide extended functionalities, such as automated “promisification” of callback functions or additional methods like progress
—also known as notify
.
The Promises/A+ standard website provides a list of 1.0 and 1.1 compliant implementations. Promise callbacks based on the A+ standard are always executed asynchronously as microtasks in the event loop.
Waiting for multiple concurrent promises
Reduce an array to chained promises
Waiting for the first of multiple concurrent promises