Sobes.tech
Back to questions
Junior — Middle
86

Каким образом осуществляется одновременное выполнение нескольких промисов с помощью Promise.all и как обрабатываются их результаты?

Answer from AI

sobes.tech AI

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

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

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

const promise1 = Promise.resolve(1);
const promise2 = Promise.resolve(2);
const promise3 = Promise.resolve(3);

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

Таким образом, Promise.all удобен для одновременного выполнения нескольких асинхронных операций и обработки их результатов после завершения всех.