Skip to main content

Promise.all

MIDDLE

Promise.all

Реалізуйте власну версію Promise.all, яка приймає масив промісів і повертає один Promise.

Вимоги:

  • Повернути Promise, який виконується коли всі вхідні проміси виконаються
  • Значення має бути масивом всіх виконаних значень в порядку
  • Якщо будь-який проміс відхиляється, негайно відхилити з цією помилкою
  • Обробити порожній масив (має виконатися негайно з порожнім масивом)

Приклад:

const p1 = Promise.resolve(3);
const p2 = Promise.resolve(42);
const p3 = new Promise(resolve => setTimeout(() => resolve('foo'), 100));

promiseAll([p1, p2, p3]).then(values => {
  console.log(values); // [3, 42, 'foo']
});

Examples:

Input 1:{"nums":[1,2,3]}
Output 1:[1,2,3]
Input 2:{"nums":[]}
Output 2:[]

Loading editor...

Run your code to see results

Click the Run button above