Sobes.tech
Junior — Middle

Kā tiek veikta vairāku solījumu vienlaicīga izpilde, izmantojot Promise.all, un kā tiek apstrādāti to rezultāti?

sobes.tech AI

Atbilde no AI

Promise.all ļauj vienlaikus palaist vairākus solījumus un gaidīt, līdz visi tie tiks pabeigti. Tas pieņem solījumu masīvu un atgriež jaunu solījumu, kas:

  • Tiek veiksmīgi izpildīts, ja visi masīva solījumi tiek veiksmīgi pabeigti. Šādā gadījumā rezultāts būs masīvs ar vērtībām, kas atbilst katram solījumam tajā pašā secībā.
  • Tiek noraidīts, ja vismaz viens solījums tiek noraidīts, un atgriež pirmā noraidītā solījuma kļūdu.

Piemērs lietošanai:

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('Viens solījums tika noraidīts:', error);
  });

Tādējādi, Promise.all ir noderīgs, lai vienlaikus izpildītu vairākas asenhronas operācijas un apstrādātu to rezultātus pēc to pabeigšanas.