p-series

Run promise-returning & async functions in series


Keywords
promise, series, serial, sequence, sequential, ordered, task, tasks, array, collection, iterable, iterator, async, await, promises, bluebird
License
MIT
Install
npm install p-series@2.1.0

Documentation

p-series Build Status

Run promise-returning & async functions in series

If you're doing the same work in each function, use p-each-series instead.

See p-all for a concurrent counterpart.

Install

$ npm install p-series

Usage

const pSeries = require('p-series');
const got = require('got');

(async () => {
	const tasks = [
		() => got('sindresorhus.com'),
		() => checkSomething(),
		() => doSomethingElse()
	];

	console.log(await pSeries(tasks));
})();

API

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.

tasks

Type: Iterable<Function>

Functions are expected to return a value. If a Promise is returned, it's awaited before continuing with the next task.

Related

  • 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…

License

MIT © Sindre Sorhus