Код Middle Реализация с нуля обновлено
Promise.any
Условие
Реализуй Promise.any: первый успешный результат; если все отклонены - отклонение с AggregateError-подобным объектом {errors}.
Что проверяют тесты
первый успех
все упали
пустой массив отклоняется
Как подойти
Инверсия all: resolve передаём напрямую первым же успехом, счётчик считает отказы. Пустой вход - немедленный reject (у all наоборот, немедленный resolve).
Подсказки: 2
- Зеркало Promise.all: успех резолвит сразу, ошибки копятся.
- Ошибки собирай по индексу, чтобы порядок совпадал с входом.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.