> Как обрабатывать массив результатов промисов в JavaScript и выводить success или fail в консоль (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Яндекс
Стек: JavaScript
> Пример ответа
Для обработки массива промисов и вывода success или fail в консоль можно использовать Promise.allSettled(), который ждёт завершения всех промисов и возвращает массив объектов с их статусами.
Пример:
JAVASCRIPTconst promises = [fetch('/api/data1'),fetch('/api/data2'),fetch('/api/data3')];Promise.allSettled(promises).then(results => {results.forEach((result, index) => {if (result.status === 'fulfilled') {console.log(`Промис ${index + 1}: success`);} else {console.log(`Промис ${index + 1}: fail`);}});});
Если нужно обрабатывать промисы последовательно или с учётом первого успешного/ошибочного результата, можно использовать Promise.all() (выбросит ошибку при первом reject) или Promise.any() (вернёт первый успешный). Но для вывода статуса каждого промиса Promise.allSettled() - наиболее подходящий вариант.
> Похожие задачи по frontend
Что содержит this в обработчике события на кнопку в JavaScript
Как реализовать декоратор функции в JavaScript, ограничивающий число вызовов и вызывающий колбэк при последнем вызове
Как обработать ошибку, если хотя бы один из нескольких запросов не ответил в JavaScript?
Как обработать результаты двух асинхронных запросов с условиями success, fail и timeout в JavaScript?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью