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-ը օգտակար է միաժամանակ մի քանի ասինխրոն գործողություններ կատարելու և դրանց արդյունքները մշակելու համար բոլորն ավարտվելուց հետո։