70 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# p-limit [](https://travis-ci.org/sindresorhus/p-limit)
 | 
						|
 | 
						|
> Run multiple promise-returning & async functions with limited concurrency
 | 
						|
 | 
						|
 | 
						|
## Install
 | 
						|
 | 
						|
```
 | 
						|
$ npm install p-limit
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
## Usage
 | 
						|
 | 
						|
```js
 | 
						|
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`<br>
 | 
						|
Minimum: `1`
 | 
						|
 | 
						|
Concurrency limit.
 | 
						|
 | 
						|
### limit(fn)
 | 
						|
 | 
						|
Returns the promise returned by calling `fn`.
 | 
						|
 | 
						|
#### fn
 | 
						|
 | 
						|
Type: `Function`
 | 
						|
 | 
						|
Promise-returning/async function.
 | 
						|
 | 
						|
 | 
						|
## Related
 | 
						|
 | 
						|
- [p-queue](https://github.com/sindresorhus/p-queue) - Promise queue with concurrency control
 | 
						|
- [p-throttle](https://github.com/sindresorhus/p-throttle) - Throttle promise-returning & async functions
 | 
						|
- [p-debounce](https://github.com/sindresorhus/p-debounce) - Debounce promise-returning & async functions
 | 
						|
- [p-all](https://github.com/sindresorhus/p-all) - Run promise-returning & async functions concurrently with optional limited concurrency
 | 
						|
- [More…](https://github.com/sindresorhus/promise-fun)
 | 
						|
 | 
						|
 | 
						|
## License
 | 
						|
 | 
						|
MIT © [Sindre Sorhus](https://sindresorhus.com)
 |