> Каким методом промиса получить результат первого выполненного запроса (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: SmartWay
Стек: JavaScript
> Пример ответа
Для получения результата первого выполненного (успешно разрешённого) промиса используется статический метод Promise.race(). Он принимает массив промисов и возвращает новый промис, который разрешается значением первого завершённого промиса (независимо от того, был он выполнен успешно или отклонён).
Пример:
JAVASCRIPTconst request1 = fetch('/api/data1').then(res => res.json());const request2 = fetch('/api/data2').then(res => res.json());Promise.race([request1, request2]).then(result => {console.log('Первый выполненный запрос дал результат:', result);}).catch(error => {console.error('Первый завершившийся запрос упал с ошибкой:', error);});
Если нужно получить только первый успешный результат, игнорируя ошибки, используйте Promise.any() (ES2021). Он возвращает первый успешно разрешённый промис, а если все промисы отклонены - отклоняется с AggregateError.
> Похожие задачи по frontend
Как работает Google Maps на стороне frontend
Какие инструменты позволяют убрать нагрузку с основного потока в JavaScript
Как отслеживать события мыши на canvas во frontend
Как работают редьюсеры в Redux
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью