Junior — Middle
Ako sa vykonáva súčasné plnenie viacerých sľubov pomocou Promise.all a ako sa spracúvajú ich výsledky?
sobes.tech AI
Odpoveď od AI
Promise.all umožňuje spúšťať viac sľubov súčasne a čakať, kým všetky nedokončia. Prijíma pole sľubov a vracia nový sľub, ktorý:
- je úspešne vyriešený, ak všetky sľuby v poli úspešne dokončia. V takom prípade bude výsledkom pole hodnôt zodpovedajúcich každému sľubu v rovnakom poradí.
- je zamietnutý, ak je aspoň jeden sľub zamietnutý, a vráti chybu prvého zamietnutého sľubu.
Príklad použitia:
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('Jeden zo sľubov bol zamietnutý:', error);
});
Týmto spôsobom je Promise.all užitočný na súčasné vykonávanie viacerých asynchrónnych operácií a spracovanie ich výsledkov po dokončení všetkých.