@chainsafe/threads
Version:
Web workers & worker threads as simple as a function call
19 lines (18 loc) • 594 B
JavaScript
// Based on <https://github.com/es-shims/Promise.allSettled/blob/master/implementation.js>
export function allSettled(values) {
return Promise.all(values.map(item => {
const onFulfill = (value) => {
return { status: 'fulfilled', value };
};
const onReject = (reason) => {
return { status: 'rejected', reason };
};
const itemPromise = Promise.resolve(item);
try {
return itemPromise.then(onFulfill, onReject);
}
catch (error) {
return Promise.reject(error);
}
}));
}