Sobes.tech
Back to questions
Junior — Middle
90

Можете объяснить, как работает метод Promise.all и для чего он предназначен?

Answer from AI

sobes.tech AI

Метод Promise.all принимает массив (или итерируемый объект) промисов и возвращает новый промис, который:

  • Выполняется успешно, когда все переданные промисы успешно завершены. В этом случае результатом будет массив значений всех промисов в том же порядке.
  • Отклоняется, если хотя бы один из промисов отклоняется, и возвращает причину первого отклонённого промиса.

Это удобно, когда нужно выполнить несколько асинхронных операций параллельно и дождаться их всех.

Пример:

const p1 = Promise.resolve(1);
const p2 = new Promise(resolve => setTimeout(() => resolve(2), 100));
const p3 = Promise.resolve(3);

Promise.all([p1, p2, p3])
  .then(results => {
    console.log(results); // [1, 2, 3]
  })
  .catch(error => {
    console.error('Один из промисов отклонился:', error);
  });