es-promise-ext
Version:
Native promise extensions for javascript and typescript.
26 lines (25 loc) • 653 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = allSettled;
/**
* Creates a Promise that is resolved with an array of results when all of the provided Promises resolve or reject.
*
* @param {T} values
* - An array of Promises.
*
* @return {AllFunction<T>}
* A new Promise.
*
* @example
* Promise.resolve()
* .then(allSettled(
* [
* Promise.resolve(1),
* Promise.reject(2)
* ]
* ))
* // return [{status: 'fulfilled', value: 1},{status: 'rejected', value: 2}] in the subsequent promise
*/
function allSettled(values) {
return () => Promise.allSettled(values);
}