p-limit Build Status

Run multiple promise-returning & async functions with limited concurrency

Install

$ npm install p-limit

Usage

const pLimit = require('p-limit');

const limit = pLimit(1);

const input = [
	limit(() => fetchSomething('foo')),
	limit(() => fetchSomething('bar')),
	limit(() => doSomething())
];

(async () => {
	// Only one promise is run at once
	const result = await Promise.all(input);
	console.log(result);
})();

API

pLimit(concurrency)

Returns a limit function.

concurrency

Type: number
Minimum: 1

Concurrency limit.

limit(fn)

Returns the promise returned by calling fn.

fn

Type: Function

Promise-returning/async function.

Related

  • p-queue - Promise queue with concurrency control
  • p-throttle - Throttle promise-returning & async functions
  • p-debounce - Debounce promise-returning & async functions
  • p-all - Run promise-returning & async functions concurrently with optional limited concurrency
  • More…

License

MIT © Sindre Sorhus