11. Реализация Promise.all
Среднеpromiseasyncconcurrency
Реализуйте собственную версию Promise.all, которая принимает массив промисов и возвращает промис с массивом результатов.
Каждый способ должен быть реализован независимо в своём контейнере:
- Резолвится массивом результатов в исходном порядке
- Реджектится при первой ошибке
- Пустой массив → пустой массив
- Обработка непромисных значений
Реализуйте функцию promiseAll(promises), которая: - Принимает массив промисов (или значений) - Возвращает промис, который резолвится массивом результатов в исходном порядке - Если любой промис реджектится — результат тоже реджектится с первой ошибкой - Пустой массив — сразу резолвится пустым массивом - Непромисные значения оборачиваются автоматически
Примеры
Пример 14
Вход:
promiseAll([Promise.resolve(1), Promise.resolve(2)])
Ожидаемый результат:
[1, 2]
Подсказка:
Все промисы резолвятся — результат содержит значения в исходном порядке
Ограничения
- Не использовать Promise.all или Promise.allSettled
0% принято
0 решений