Promise.race()

Возвращает результат первого завершившегося промиса — успешного или с ошибкой.

СигнатураPromise.race(iterable)

Возвращает промис, который завершается так же, как первый завершившийся из входных промисов (выполнится или отклонится — в зависимости от того, что наступит раньше).

const fast = new Promise((resolve) => setTimeout(resolve, 100, 'быстрый'));
const slow = new Promise((resolve) => setTimeout(resolve, 500, 'медленный'));

Promise.race([fast, slow]).then((value) => {
  console.log(value); // результат: 'быстрый'
});

Часто применяют для реализации таймаута: гонка запроса с промисом-таймером.

← Все записи: Промисы и async в JavaScript
Поддержать проект