Назад к вопросам
Junior — Middle
102
Могли бы вы объяснить, что делает метод Promise.allSettled в JavaScript?
Компании, где спрашивали
Бизнес-Азимут
Ответ от нейросети
sobes.tech AI
Метод Promise.allSettled в JavaScript принимает массив промисов и возвращает новый промис, который выполнится, когда все переданные промисы завершатся — независимо от того, успешно или с ошибкой.
В отличие от Promise.all, который отклоняется при первом же отклонённом промисе, allSettled ждёт завершения всех и возвращает массив объектов с результатами каждого промиса.
Каждый объект в массиве имеет вид:
{ status: "fulfilled", value: ... }— если промис успешно выполнился{ status: "rejected", reason: ... }— если промис отклонился
Пример:
const promises = [
Promise.resolve(1),
Promise.reject('Ошибка'),
Promise.resolve(3)
];
Promise.allSettled(promises).then(results => {
results.forEach(result => {
if (result.status === 'fulfilled') {
console.log('Успех:', result.value);
} else {
console.log('Ошибка:', result.reason);
}
});
});