Skip to content

Await an array of promises to be settled, then reject with an AggregateError upon failure, or resolve with an array of values upon success.

License

Notifications You must be signed in to change notification settings

stefee/promise-settled-aggregate

Repository files navigation

promise-settled-aggregate

Await an array of promises to be settled, then reject with an AggregateError upon failure, or resolve with an array of values upon success.

It works like Promise.allSettled except it will reject with an AggregateError if some of the promises are rejected, otherwise it resolves with the fulfilled values like Promise.all.

try {
  const [a, b, c, d] = await promiseSettledAggregate([
    Promise.reject(new Error("Boom")),
    Promise.resolve(2),
    Promise.resolve(true),
    Promise.reject(new Error("Pow")),
  ]);
} catch (err) {
  err.errors.forEach(console.error);
}

You may copy the source code (see dist for JS) directly into your project as this library is published under the Unlicense license.

You can also install it as a npm dependency:

npm install promise-settled-aggregate

About

Await an array of promises to be settled, then reject with an AggregateError upon failure, or resolve with an array of values upon success.

Topics

Resources

License

Stars

Watchers

Forks