promise.series

Run Promise in series.

Usage no npm install needed!

<script type="module">
  import promiseSeries from 'https://cdn.skypack.dev/promise.series';
</script>

README

promise.series

NPM version NPM downloads Build Status

Run Promise in series.

Install

$ npm install --save promise.series

Usage

const promiseSeries = require('promise.series')

const sleep = timeout => {
  return new Promise(resolve => {
    setTimeout(() => {
      console.log(new Date())
      resolve()
    }, timeout)
  })
}

// each item returns a Promise
promiseSeries([
  () => sleep(1000),
  () => sleep(2000)
]).then(() => {
  console.log('Completed')
})

API

promiseSeries(tasks, [initialValue])

tasks

Type: array

An array of functions which return a Promise.

initialValue

Pass an initial value to the promise chain, eg:

promiseSeries([
  value => asyncOperation().then(() => value * 2),
  value => asyncOperation().then(() => value * 2)
], 1).then(result => {
  console.log(res)
  //=> 4
})

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

License

MIT © EGOIST