Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от 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 е полезен за едновременна изпълнение на няколко асинхронни операции и обработка на техните резултати след завършването им.