Планировщик с ограничением параллелизма
Есть массив асинхронных задач (функций, которые возвращают промис). Нужно написать функцию runWithLimit(tasks, limit), которая:
Запускает не более limit задач одновременно.
Возвращает промис, который резолвится, когда завершатся все задачи.
Сохраняет порядок результатов в соответствии с исходным массивом.
Пример:
runWithLimit([task1, task2, task3, task4], 2) — в любой момент времени выполняется не более 2 задач.
#домашка
Post #2584
725

- 👍 1