promise-rejected

1.0.0 • Public • Published

promise-rejected

NPM version build status Test coverage Downloads

Wait for an array of promises to be completed (resolved or rejected) and return an array with only the rejections.

Installation

$ npm install promise-reject

or

$ yarn add promise-reject

Why ?

Promise.all will stop at first error detected while promise-rejected will give run all the promises and return all errors detected.

As its goal is to detected errors, the promise is resolved with detected errors.

Usage

promise-rejected is useful when you need to have access to a list of errors.

A good example is like in form validation. If you have a validation function for each field, any invalid field might throw an error that you can catch.

promise-rejected will enable you to display an error for all invalid fields in one row while using Promise.all will enable you to only display the first invalid field.

Example

This example is a bit contrived but you should understand the purpose of the promise-rejected function.

const rejected = require('promise-rejected')

rejected([1, 2, 3, 4, 5, 6].map(function (v) {
  if (v % 2 === 0) {
    throw new Error('invalid value')
  }
}))
  .then(function (val) {
    val.map(function (err) {
      console.log('Error : #' + err.message)
      /*
        Error : #2
        Error : #4
        Error : #6
      */
    })
  })
  .catch()

If you had used Promise.all the promise chain will have been rejected with only the first error :

Inspiration

License

MIT

Package Sidebar

Install

npm i promise-rejected

Weekly Downloads

0

Version

1.0.0

License

MIT

Last publish

Collaborators

  • stephane.bachelier