Sobes.tech
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);