Sobes.tech
Junior — Middle

Kako se vrši istovremeno izvršavanje više obećanja pomoću Promise.all i kako se obrađuju njihovi rezultati?

sobes.tech АИ

Одговор од АИ

Promise.all omogućava pokretanje više obećanja paralelno i čekanje da se svi završe. Prima niz obećanja i vraća novo obećanje koje:

  • Se rešava uspešno ako su sva obećanja u nizu uspešno završena. U tom slučaju, rezultat će biti niz vrednosti koje odgovaraju svakom obećanju u istom redosledu.
  • Se odbacuje ako je bar jedno obećanje odbijeno, i vraća grešku prvog odbijenog obećanja.

Primer upotrebe:

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('Jedno obećanje je odbijeno:', error);
  });

Na ovaj način, Promise.all je koristan za istovremeno izvršavanje više asinhronih operacija i obradu njihovih rezultata nakon što se sve završe.