基于promise 并发控制
Этот скрипт недоступен для установки пользователем. Он является библиотекой, которая подключается к другим скриптам мета-ключом // @require https://update.greasyfork.org/scripts/488850/1336774/promise%20concurrency.js
await concurrentTasks(5, [1, 2, 3, 4], (n) => {
return new Promise((ok) => {
setTimeout(() => {
console.log(n);
ok();
}, Math.random() * 5000);
});
});