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

Какие знаешь утилиты Promise кроме Promise.all

Promise.allSettled() - возвращает промис, который исполняется, когда все переданные промисы завершены (неважно, успешно или с ошибкой). Результат - массив объектов с статусом и значением/причиной.

javascript
const promises = [Promise.resolve(1), Promise.reject('error')];
Promise.allSettled(promises).then(results => {
  // results: [
  //   {status: "fulfilled", value: 1},
  //   {status: "rejected", reason: "error"}
  // ]
});

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

javascript
Promise.race([
  fetch('/slow'),
  new Promise((_, reject) => 
    setTimeout(() => reject(new Error('Timeout')), 5000)
  )
]).then(handleFastResponse).catch(handleTimeout);

Promise.any() (ES2021) - возвращает первый успешно выполненный промис. Если все отклонены, возвращает AggregateError.

javascript
Promise.any([
  fetch('endpoint1'),
  fetch('endpoint2')
]).then(firstSuccess => {
  // первый успешный ответ
});
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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