{"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"keywords":["promise","limit","limited","concurrency","throttle","throat","rate","batch","ratelimit","task","queue","async","await","promises","bluebird"],"dist-tags":{"latest":"1.1.0"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"description":"Run multiple promise-returning & async functions with limited concurrency","readme":"# p-limit [![Build Status](https://travis-ci.org/sindresorhus/p-limit.svg?branch=master)](https://travis-ci.org/sindresorhus/p-limit)\n\n> Run multiple promise-returning & async functions with limited concurrency\n\n\n## Install\n\n```\n$ npm install --save p-limit\n```\n\n\n## Usage\n\n```js\nconst pLimit = require('p-limit');\n\nconst limit = pLimit(1);\n\nconst input = [\n\tlimit(() => fetchSomething('foo')),\n\tlimit(() => fetchSomething('bar')),\n\tlimit(() => doSomething())\n];\n\n// only one promise is run at once\nPromise.all(input).then(result => {\n\tconsole.log(result);\n});\n```\n\n\n## API\n\n### pLimit(concurrency)\n\nReturns a `limit` function.\n\n#### concurrency\n\nType: `number`<br>\nMinimum: `1`\n\nConcurrency limit.\n\n### limit(fn)\n\nReturns the promise returned by calling `fn`.\n\n#### fn\n\nType: `Function`\n\nPromise-returning/async function.\n\n\n## Related\n\n- [p-queue](https://github.com/sindresorhus/p-queue) - Promise queue with concurrency control\n- [p-throttle](https://github.com/sindresorhus/p-throttle) - Throttle promise-returning & async functions\n- [p-debounce](https://github.com/sindresorhus/p-debounce) - Debounce promise-returning & async functions\n- [p-all](https://github.com/sindresorhus/p-all) - Run promise-returning & async functions concurrently with optional limited concurrency\n- [More…](https://github.com/sindresorhus/promise-fun)\n\n\n## License\n\nMIT © [Sindre Sorhus](https://sindresorhus.com)\n","repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-limit.git"},"users":{"kah":true},"bugs":{"url":"https://github.com/sindresorhus/p-limit/issues"},"license":"MIT","versions":{"1.0.0":{"name":"p-limit","version":"1.0.0","description":"Run multiple promise-returning & async functions with limited concurrency","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-limit.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=4"},"scripts":{"test":"xo && ava"},"files":["index.js"],"keywords":["promise","limit","limited","concurrency","throttle","throat","rate","batch","ratelimit","task","queue","async","await","promises","bluebird"],"devDependencies":{"ava":"*","delay":"^1.3.1","in-range":"^1.0.0","random-int":"^1.0.0","time-span":"^1.0.0","xo":"*"},"xo":{"esnext":true},"gitHead":"b364100fada683f5d43640fec2fd48b6ab4978dd","bugs":{"url":"https://github.com/sindresorhus/p-limit/issues"},"homepage":"https://github.com/sindresorhus/p-limit#readme","_id":"p-limit@1.0.0","_shasum":"1b6d069a70cbb89c54c172765680eff803a1e0ec","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.6.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"1b6d069a70cbb89c54c172765680eff803a1e0ec","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/p-limit/-/p-limit-1.0.0.tgz"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/p-limit-1.0.0.tgz_1477036781404_0.05086738429963589"},"directories":{}},"1.1.0":{"name":"p-limit","version":"1.1.0","description":"Run multiple promise-returning & async functions with limited concurrency","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/p-limit.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=4"},"scripts":{"test":"xo && ava"},"files":["index.js"],"keywords":["promise","limit","limited","concurrency","throttle","throat","rate","batch","ratelimit","task","queue","async","await","promises","bluebird"],"devDependencies":{"ava":"*","delay":"^1.3.1","in-range":"^1.0.0","random-int":"^1.0.0","time-span":"^1.0.0","xo":"*"},"xo":{"esnext":true},"gitHead":"276b0aeef73ac9fe0b80622d8261a2bbe4f9f74c","bugs":{"url":"https://github.com/sindresorhus/p-limit/issues"},"homepage":"https://github.com/sindresorhus/p-limit#readme","_id":"p-limit@1.1.0","_shasum":"b07ff2d9a5d88bec806035895a2bab66a27988bc","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.6.2","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"b07ff2d9a5d88bec806035895a2bab66a27988bc","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/p-limit/-/p-limit-1.1.0.tgz"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/p-limit-1.1.0.tgz_1479711587647_0.4504568234551698"},"directories":{}}},"name":"p-limit","time":{"modified":"2017-03-07T20:51:32.268Z","created":"2016-10-21T07:59:41.638Z","1.0.0":"2016-10-21T07:59:41.638Z","1.1.0":"2016-11-21T06:59:47.875Z"},"readmeFilename":"readme.md","homepage":"https://github.com/sindresorhus/p-limit#readme"}