Run promise-returning & async functions in series
Note: You can just use await
in a for-loop to get the same behavior. This package was useful before async/await existed.
If you're doing the same work in each function, use p-each-series
instead.
See p-all
for a concurrent counterpart.
$ npm install p-series
import pSeries from 'p-series';
import got from 'got';
const tasks = [
() => got('https://sindresorhus.com'),
() => checkSomething(),
() => doSomethingElse()
];
console.log(await pSeries(tasks));
Returns a Promise
that is fulfilled when all promises returned from calling the functions in tasks
are fulfilled, or rejects if any of the promises reject. The fulfilled value is an Array
of the fulfilled values.
Type: Iterable<Function>
Functions are expected to return a value. If a Promise is returned, it's awaited before continuing with the next task.
- p-all - Run promise-returning & async functions concurrently with optional limited concurrency
- p-waterfall - Run promise-returning & async functions in series, each passing its result to the next
- p-each-series - Iterate over promises serially
- More…