sindresorhus / p-series

Run promise-returning & async functions in series

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

p-series

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.

Install

$ npm install p-series

Usage

import pSeries from 'p-series';
import got from 'got';

const tasks = [
	() => got('https://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…

About

Run promise-returning & async functions in series

License:MIT License


Languages

Language:JavaScript 74.5%Language:TypeScript 25.5%