%PDF- %PDF-
Direktori : /var/www/html/node_modules/p-limit/ |
Current File : //var/www/html/node_modules/p-limit/index.js |
'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); } }); };