Sobes.tech
Junior — Senior
47

Самостоятельная реализация функции Promise.all

Task condition

Необходимо написать функцию, имитирующую поведение встроенного Promise.all. Функция должна принимать массив (или любой итерируемый объект) промисов и возвращать новый промис, который:

  • переходит в состояние fulfilled, когда все переданные промисы успешно завершились;
  • переходит в состояние rejected сразу после того, как любой из переданных промисов будет отклонён. Функция обязана корректно работать как с уже решёнными/отклонёнными промисами, так и с обычными значениями, преобразуя их в промисы автоматически. Реализуйте её без обращения к оригинальному Promise.all.