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