Встречается на собеседованиях • сегодня

Как работает Promise.race

Promise.race принимает массив промисов и возвращает новый промис, который разрешается или отклоняется сразу же, как только один из переданных промисов разрешается или отклоняется. Остальные промисы игнорируются.

javascript
const promise1 = new Promise((resolve) => setTimeout(resolve, 500, 'one'));
const promise2 = new Promise((resolve) => setTimeout(resolve, 100, 'two'));

Promise.race([promise1, promise2])
.then((value) => console.log(value)); // 'two' (так как promise2 выполнится быстрее)

text

Если один из промисов отклоняется первым, `Promise.race` также немедленно отклоняется с этой ошибкой. Полезно для таймаутов:

```javascript
const fetchWithTimeout = (url, timeout) => {
  return Promise.race([
    fetch(url),
    new Promise((_, reject) => 
      setTimeout(() => reject(new Error('Timeout')), timeout)
    )
  ]);
};
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы