Sobes.tech
Middle

Jaký je rozdíl mezi Promise.all a Promise.any?

sobes.tech AI

Odpověď od AI

Promise.all čeká na dokončení všech slibů v iterovatelném objektu. Pokud jsou všechny sliby úspěšně splněny, vrátí slib, který se vyřeší polem výsledků ve stejném pořadí jako vstupní sliby. Pokud je alespoň jeden slib zamítnut, vrátí zamítnutý slib s chybou prvního zamítnutého slibu.

Promise.any čeká na dokončení libovolného ze slibů v iterovatelném objektu. Jakmile je jakýkoli slib úspěšně splněn, vrátí slib, který se vyřeší hodnotou tohoto slibu. Pokud jsou všechny sliby zamítnuty, vrátí zamítnutý slib s AggregateError, který obsahuje pole chyb všech zamítnutých slibů.

Porovnání:

Kritérium Promise.all Promise.any
Podmínka úspěchu Všechny sliby jsou úspěšně splněny Jakýkoli slib je úspěšně splněn
Podmínka chyby Jakýkoli slib je zamítnut Všechny sliby jsou zamítnuty
Výsledek úspěchu Pole výsledků (ve stejném pořadí jako vstupní sliby) Hodnota prvního úspěšně splněného slibu
Výsledek chyby Chyba prvního zamítnutého slibu AggregateError s polem chyb všech zamítnutých slibů
Použití Závislost na všech asynchronních operacích Závislost na jakékoli asynchronní operaci