Junior — Middle
Promise.all ve Promise.any fonksiyonları arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Promise.all bir dizi söz verme alır ve yeni bir söz verme döndürür:
- Tüm sözler başarıyla tamamlandığında çözülür ve sonuçların aynı sırayla dizisini döner;
- En az bir söz reddedilirse, hemen o sözün hatasıyla reddedilir.
Promise.any bir dizi söz verme alır ve şu şekilde bir söz verme döndürür:
- En geç bir söz başarıyla tamamlandığında çözülür ve bu sözün sonucunu döner;
- Tüm sözler reddedilirse, tüm sözlerin hatalarını içeren bir AggregateError ile reddedilir.
Örnek:
const p1 = Promise.reject('Hata 1');
const p2 = Promise.resolve('Başarı 2');
const p3 = Promise.resolve('Başarı 3');
Promise.all([p1, p2, p3])
.then(console.log) // çağrılmayacak
.catch(console.error); // 'Hata 1' gösterir
Promise.any([p1, p2, p3])
.then(console.log) // 'Başarı 2' gösterir
.catch(console.error);