Sobes.tech
Middle

Aký je rozdiel medzi Promise.all a Promise.any?

sobes.tech AI

Odpoveď od AI

Promise.all čaká na dokončenie všetkých sľubov v iterovateľnom objekte. Ak sú všetky sľuby úspešne splnené, vráti sľub, ktorý sa vyrieši poľom výsledkov v rovnakom poradí ako vstupné sľuby. Ak je aspoň jeden sľub zamietnutý, vráti zamietnutý sľub s chybou prvého zamietnutého sľubu.

Promise.any čaká na dokončenie ktoréhokoľvek sľubu v iterovateľnom objekte. Hneď ako je akýkoľvek sľub úspešne splnený, vráti sľub, ktorý sa vyrieši hodnotou tohto sľubu. Ak sú všetky sľuby zamietnuté, vráti zamietnutý sľub s AggregateError, ktorý obsahuje pole chýb všetkých zamietnutých sľubov.

Porovnanie:

Kritérium Promise.all Promise.any
Podmienka úspechu Všetky sľuby sú úspešne splnené Akýkoľvek sľub je úspešne splnený
Podmienka chyby Aspoň jeden sľub je zamietnutý Všetky sľuby sú zamietnuté
Výsledok úspechu Pole výsledkov (v rovnakom poradí ako vstupné sľuby) Hodnota prvého úspešne splneného sľubu
Výsledok chyby Chyba prvého zamietnutého sľubu AggregateError s poľom chýb všetkých zamietnutých sľubov
Použitie Závislosť od všetkých asynchrónnych operácií Závislosť od ktorejkoľvek asynchrónnej operácie