> Каким методом промиса получить результат первого выполненного запроса (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: SmartWay

Стек: JavaScript

> Пример ответа

Для получения результата первого выполненного (успешно разрешённого) промиса используется статический метод Promise.race(). Он принимает массив промисов и возвращает новый промис, который разрешается значением первого завершённого промиса (независимо от того, был он выполнен успешно или отклонён).

Пример:

JAVASCRIPT
const 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.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью