Implementing Promise barriers with Promise.all()
You may find your application requires the use of promises in an all-or-nothing type of situation. That is, it will need to collectively evaluate a group of promises, and this collection will resolve as a single promise if and only if all of the contained promises are resolved; if any one of them is rejected, the aggregate promise will be rejected.
Note
The code, links, and a live example of this are available at http://ngcookbook.herokuapp.com/8496/ .
How to do it...
The Promise.all()
method accepts an iterable collection of promises (for example, an array of Promise
objects or an object with a number of promise properties), and it will attempt to resolve all of them as a single aggregate promise. The parameter of the aggregate resolved handler will be an array or object that matches the resolved values of the contained promises:
var outerResolveA, outerResolveB; const promiseA = new Promise((resolve, reject) => { outerResolveA...