Чем отличаются статические методы Promise: Promise.all, Promise.allSettled, Promise.race, Promise.any?

Помимо Promise.all, в Promise API есть несколько полезных методов:

Короткий ответ

Что ответить на собеседовании

Помимо Promise.all, в Promise API есть несколько полезных методов:

Подробный разбор

Ответ с пояснениями

Помимо Promise.all, в Promise API есть несколько полезных методов:

  • Promise.race(iterable) — возвращает промис, который выполнится или отклонится, как только первый из переданных промисов выполнится или отклонится.
  • Promise.allSettled(iterable) — возвращает промис, который выполнится, когда все переданные промисы завершатся (независимо от результата), и вернёт массив объектов с состоянием каждого промиса.
  • Promise.any(iterable) — возвращает промис, который выполнится с результатом первого успешно выполненного промиса из переданных; если все промисы отклонятся, он отклонится с AggregateError.

Пример использования Promise.race:

const p1 = new Promise(resolve => setTimeout(() => resolve('Первый'), 500));
const p2 = new Promise(resolve => setTimeout(() => resolve('Второй'), 100));

Promise.race([p1, p2]).then(result => console.log(result)); // Выведет 'Второй'

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку