Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
5
Создание функции, имитирующей Promise.allSettled
Условие задачи
Необходимо реализовать функцию allSettled(), которая воспроизводит поведение стандартного метода Promise.allSettled.
function allSettled(inputs) {}
allSettled([
new Promise((resolve) => setTimeout(() => resolve(1), 1000)),
Promise.reject(2),
Promise.resolve(3),
]).then(console.log);
// [
// { "status": "fulfilled", "value": 1 },
// { "status": "rejected", "reason": 2 },
// { "status": "fulfilled", "value": 3 }
// ]
Функция должна принимать массив промисов (или значений, совместимых с промисами) и возвращать новый промис, который завершится после того, как завершатся все переданные. В результате необходимо получить массив объектов, каждый из которых содержит поле status со значением "fulfilled" или "rejected" и соответствующее поле value или reason с результатом или причиной отклонения.