Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
6
Самостоятельная реализация метода Promise.all (версия 3)
Условие задачи
Требуется написать функцию, которая воспроизводит поведение стандартного Promise.all. В примере формируется массив чисел, из которых создаются промисы, каждый из которых завершается через задержку, зависящую от индекса. Ваша задача – реализовать promiseAll, принимающую массив промисов и возвращающую новый промис, который выполнится, когда все переданные промисы успешно завершатся, либо отклонится при первой ошибке.
const test: number[] = Array.from(Array(5), (_, index) => index);
const promises = test.map((item, index) => {
return new Promise((resolve, reject) => setTimeout(() => resolve(index), index * 100));
});
// promises.push(new Promise((resolve, reject) => reject('MyError')));
const promiseAll = () => {
};
// promiseAll(promises).then(data => console.log(data));