Реализуйте функцию any, которая принимает непустой массив промисов и возвращает новый промис, работающий по следующим правилам:
Если хотя бы один промис успешно выполнится (resolve) → возвращаемый промис должен завершиться с тем же значением.
Если все промисы завершатся с ошибкой (reject) → возвращаемый промис должен быть отклонён с ошибкой типа AggregateError, содержащей:
- Массив всех ошибок в поле errors
- Сообщение "No Promise in any was resolved" (другие варианты не допускаются)
Пример 1:
Ввод: promises = [Promise.resolve(42)]
Вывод: [object Promise] => 42
Пример 2:
Ввод: promises = [Promise.reject('A'), Promise.resolve(42)]
Вывод: [object Promise] => 42
Пример 3:
Ввод: promises = [Promise.reject('A'), Promise.reject('B')]
Вывод: [object Promise] => "No Promise in any was resolved"