Sobes.tech
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.