Junior — Middle
Jak se provádí současné plnění několika slibů pomocí Promise.all a jak jsou jejich výsledky zpracovávány?
sobes.tech AI
Odpověď od AI
Promise.all umožňuje spouštět více slibů současně a čekat, až všechny dokončí. Přijímá pole slibů a vrací nový slib, který:
- Je úspěšně vyřešen, pokud všechny sliby v poli úspěšně dokončí. V takovém případě bude výsledkem pole hodnot odpovídajících každému slibu ve stejném pořadí.
- Je zamítnut, pokud je alespoň jeden slib zamítnut, a vrací chybu prvního zamítnutého slibu.
Příklad použití:
const promise1 = Promise.resolve(1);
const promise2 = Promise.resolve(2);
const promise3 = Promise.resolve(3);
Promise.all([promise1, promise2, promise3])
.then(results => {
console.log(results); // [1, 2, 3]
})
.catch(error => {
console.error('Jeden ze slibů byl zamítnut:', error);
});
Tímto způsobem je Promise.all užitečný pro současné provádění několika asynchronních operací a zpracování jejich výsledků po dokončení všech.