JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 506994
  • Score
    100M100P100Q186751F
  • License MIT

Settle promises concurrently and get their fulfillment value or rejection reason

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 Build Status

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 or reason (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.

  • p-reflect - Make a promise always fulfill with its actual fulfillment value or rejection reason
  • p-map - Map over promises concurrently
  • More…