Loading problem…
Implement your own version of Promise.all method. The Promise.all method takes an iterable of promises and returns a single promise that resolves when all of the input promises have resolved, or rejects with the reason of the first promise that rejects.
// All promises resolve
promiseAll([
Promise.resolve(1),
Promise.resolve(2),
Promise.resolve(3)
]).then(console.log); // [1, 2, 3]
// One promise rejects
promiseAll([
Promise.resolve(1),
Promise.reject('error'),
Promise.resolve(3)
]).catch(console.log); // 'error'
// Mixed values
promiseAll([1, Promise.resolve(2), 3])
.then(console.log); // [1, 2, 3]
// Empty array
promiseAll([])
.then(console.log); // []