This is not GitHub.com

Like what you see? Install OctoLinker now!

Skip to content
Run promise-returning & async functions concurrently with optional limited concurrency
JavaScript TypeScript
Branch: master
Clone or download
Latest commit db28613 May 28, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
.editorconfig
.gitattributes
.gitignore
.npmrc
.travis.yml
index.d.ts
index.js
index.test-d.ts
license
package.json
readme.md Meta tweaks Mar 2, 2019
test.js Meta tweaks Mar 2, 2019

readme.md

p-all Build Status

Run promise-returning & async functions concurrently with optional limited concurrency

Similar to Promise.all(), but accepts functions instead of promises directly so you can limit the concurrency.

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

See p-series for a serial counterpart.

Install

$ npm install p-all

Usage

const pAll = require('p-all');
const got = require('got');

(async () => {
	const actions = [
		() => got('https://sindresorhus.com'),
		() => got('https://ava.li'),
		() => checkSomething(),
		() => doSomethingElse()
	];

	console.log(await pAll(actions, {concurrency: 2}));
})();

API

pAll(tasks, [options])

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 in tasks order.

tasks

Type: Iterable<Function>

Iterable with promise-returning/async functions.

options

Type: Object

concurrency

Type: number
Default: Infinity
Minimum: 1

Number of concurrent pending promises.

Related

  • p-map - Map over promises concurrently
  • p-series - Run promise-returning & async functions in series
  • p-props - Like Promise.all() but for Map and Object
  • p-queue - Promise queue with concurrency control
  • p-limit - Run multiple promise-returning & async functions with limited concurrency
  • More…

License

MIT © Sindre Sorhus

You can’t perform that action at this time.