/
opt
/
alt
/
alt-nodejs8
/
root
/
lib
/
node_modules
/
npm
/
node_modules.bundled
/
p-limit
/
Upload Filee
HOME
'use strict'; const pTry = require('p-try'); module.exports = concurrency => { if (concurrency < 1) { throw new TypeError('Expected `concurrency` to be a number from 1 and up'); } const queue = []; let activeCount = 0; const next = () => { activeCount--; if (queue.length > 0) { queue.shift()(); } }; return fn => new Promise((resolve, reject) => { const run = () => { activeCount++; pTry(() => fn()).then( val => { resolve(val); next(); }, err => { reject(err); next(); } ); }; if (activeCount < concurrency) { run(); } else { queue.push(run); } }); };