Skip to main content

Parallel Limit

SENIOR

Parallel Limit

Виконайте асинхронні завдання паралельно з обмеженням паралельності та правильною обробкою помилок.

Вимоги:

  • Реалізувати parallelLimit, яка приймає масив завдань і ліміт паралельності
  • Виконувати максимум limit завдань паралельно
  • Зібрати всі результати та помилки
  • Повернути об'єкт з масивами results та errors
  • Продовжити обробку навіть якщо деякі завдання не вдалися

Приклад:

const tasks = [
  async () => 1,
  async () => { throw new Error('fail'); },
  async () => 3,
  async () => 4
];

parallelLimit(tasks, 2).then(({ results, errors }) => {
  console.log(results); // [1, 3, 4]
  console.log(errors.length); // 1
});

Examples:

Input 1:{"tasks":[null,null,null],"limit":2}
Output 1:{"results":[1,2,3],"errors":[]}

Loading editor...

Run your code to see results

Click the Run button above