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); // результат: 'быстрый'
});Часто применяют для реализации таймаута: гонка запроса с промисом-таймером.