Answer

Answer

t.me/js_test

Ответ:

{ status: "fulfilled", value: 42 },

{ status: "rejected", reason: "err" },

{ status: "fulfilled", value: "resolved" },

err

Объяснение:

Данный пример показывает разницу между Promise.allSettled и Promise.all. Первый метод возвращает промис, который исполняется когда все полученные промисы завершены(исполнены или отклонены), содержащий массив результатов исполнения полученных промисов, а второй метод попадает в onrejected или catch если любой из промисов выполнился с ошибкой.

Код:

const promise1 = Promise.resolve(42);
const promise2 = new Promise((_, reject) => {
    setTimeout(reject, 100, 'err');
});
const promise3 = Promise.resolve('resolved');
const promises = [promise1, promise2, promise3];

Promise.allSettled(promises).then((results) => {
    results.forEach((item) => console.log(item));
});

Promise.all(promises)
    .then((results) => {
        results.forEach((item) => console.log(item));
    })
    .catch((reason) => console.error(reason));

Report Page