0.0.6 • Published 6 years ago

parallel-promise v0.0.6

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

ParallelPromise

run promises with timeout, in parallel

you can alse check serial-promise

Install

npm install parallel-promise --save

Usage

import ParallelPromise, { StatusCode } from 'parallel-promise'

ParallelPromise(
  [
    () => {
      // return a promise that resolves in 100ms
    },
    () => {
      // return a promise that resolves in 3000ms
    },
    () => {
      // return a promise that rejects in 100ms
    },
    () => {
      // return a promise that rejects in 3000ms
    },
  ],
  [1000, 2000, 1000, 2000],
  (progress) => {
    // called whenever a promise's state is changed
    // progress == {
    //   total: 4,  total count of promise
    //   resolve: [],  array of the index of the resolved promises
    //   reject: [],  array of the index of the rejected promises
    //   timeout: [],  array of the index of the timeouted promise
    // }
  }
).then(rets => {
  // after 2000ms
  // rets == [
  //   { status: StatusCode.RESOLVE, data:[your data] },
  //   { status: StatusCode.TIMEOUT, timeout: 2000 }
  //   { status: StatusCode.REJECT, err:[error] },
  //   { status: StatusCode.TIMEOUT, timeout: 2000 }
  // ]
})// NOTE that there is not .catch here

You can use async/await as well.

StatusCode

StatusStatusCode
RESOLVE0
REJECT1
TIMEOUT-1

Test

npm run test

License

MIT

0.0.6

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago