Junior — Middle
Promise.all və Promise.any funksiyaları arasında fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Promise.all bir sıra vədə alır və yeni vədə qaytarır:
- bütün vədlər uğurla tamamlandıqda, eyni sırayla nəticələrin massivini qaytarır;
- ən azı bir vəd rədd edildikdə, dərhal həmin vədin xətası ilə rədd edilir.
Promise.any bir sıra vəd alır və aşağıdakı kimi vəd qaytarır:
- hər hansı bir vəd uğurla tamamlandıqda, dərhal onun nəticəsini qaytarır;
- bütün vədlər rədd edildikdə, bütün vədlərin xətalarını ehtiva edən bir AggregateError ilə rədd edilir.
Nümunə:
const p1 = Promise.reject('Xəta 1');
const p2 = Promise.resolve('Uğur 2');
const p3 = Promise.resolve('Uğur 3');
Promise.all([p1, p2, p3])
.then(console.log) // çağrılmayacaq
.catch(console.error); // 'Xəta 1' göstərir
Promise.any([p1, p2, p3])
.then(console.log) // 'Uğur 2' göstərir
.catch(console.error);