/
1Rrd0
/
Course
Обзор
Документация
Войти
/
1Rrd0
/
Course
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/mongoose/lib/helpers/parallelLimit.js
37 строк
652 B
dima
2
13 дек 2025, 10:58
13 дек 2025, 10:58
ce5a48e
Код
Авторство
О чём код?
'use strict'; module.exports = parallelLimit; /*! * ignore */ async function parallelLimit(params, fn, limit) { if (limit <= 0) { throw new Error('Limit must be positive'); } if (params.length === 0) { return []; } const results = []; const executing = new Set(); for (let index = 0; index < params.length; index++) { const param = params[index]; const p = fn(param, index); results.push(p); executing.add(p); const clean = () => executing.delete(p); p.then(clean).catch(clean); if (executing.size >= limit) { await Promise.race(executing); } } return Promise.all(results); }