Встречается на собеседованиях • сегодня
В чем разница между Promise.all и Promise.allSettled
Promise.all и Promise.allSettled оба работают с массивом промисов, но ведут себя по-разному:
- Promise.all:
- Ждёт выполнения всех промисов.
- Если хотя бы один промис отклонён (
rejected), весьPromise.allотклоняется с ошибкой первого отклонённого промиса. - Подходит, когда все промисы критичны и нужен успех всех операций.
javascript
Promise.all([promise1, promise2])
.then(results => console.log(results))
.catch(error => console.error(error)); // Прервётся при первой ошибке- Promise.allSettled:
- Ждёт завершения всех промисов (независимо от успеха/ошибки).
- Возвращает массив объектов с статусом (
fulfilled/rejected) и значением/причиной. - Подходит, когда важно обработать все результаты, включая ошибки.
javascript
Promise.allSettled([promise1, promise2])
.then(results => results.forEach(result => {
if (result.status === 'fulfilled') console.log(result.value);
else console.error(result.reason);
}));Итог: all — "всё или ничего", allSettled — "все результаты, даже ошибки".

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы