UNPKG

594 BJavaScriptView Raw
1// Based on <https://github.com/es-shims/Promise.allSettled/blob/master/implementation.js>
2export function allSettled(values) {
3 return Promise.all(values.map(item => {
4 const onFulfill = (value) => {
5 return { status: 'fulfilled', value };
6 };
7 const onReject = (reason) => {
8 return { status: 'rejected', reason };
9 };
10 const itemPromise = Promise.resolve(item);
11 try {
12 return itemPromise.then(onFulfill, onReject);
13 }
14 catch (error) {
15 return Promise.reject(error);
16 }
17 }));
18}