Package Exports
- p-settle
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (p-settle) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
p-settle 
Settle promises concurrently and get their fulfillment value or rejection reason
Install
$ npm install p-settle
Usage
const {promises: fs} = require('fs');
const pSettle = require('p-settle');
(async () => {
const files = [
'a.txt',
'b.txt' // Doesn't exist
].map(fileName => fs.readFile(fileName, 'utf8'));
console.log(await pSettle(files));
/*
[
{
isFulfilled: true,
isRejected: false,
value: '🦄'
},
{
isFulfilled: false,
isRejected: true,
reason: [Error: ENOENT: no such file or directory, open 'b.txt']
}
]
*/
})();
API
pSettle(array, options?)
Returns a Promise<object[]>
that is fulfilled when all promises from the array
argument are settled.
The objects in the array have the following properties:
isFulfilled
isRejected
value
orreason
(Depending on whether the promise fulfilled or rejected)
array
Type: Array<ValueType | PromiseLike<ValueType> | ((...args: any[]) => PromiseLike<ValueType>)>
The array can contain a mix of any value, promise, and async function. Promises are awaited. Async functions are executed and awaited. The concurrency
option only works for elements that are async functions.
options
Type: object
concurrency
Type: number
(Integer)
Default: Infinity
Minimum: 1
Number of concurrently pending promises.
Note: This only limits concurrency for elements that are async functions, not promises.