Deo zbornika Napredni Javaskript
Promise.all()
Često je potrebno učitati podatke sa raznih URL adresa, te pokrenuti program kad se sve učita.
Možemo da kreiramo obećanja za svaki poziv i koristimo ih pojedinačno, ili da upotrebimo metod Promise.all, koji prima niz obećanja, te nakon njihovog razrešenja daje niz rezultata. Sintaksa je sledeća:
Promise.all([obecanje1(), obecanje2()])
.then(nizRezultata => {
// koristimo niz rezultata
})
.catch(err => {
// upravljamo greškom
})
Primer
const obecanje1 = new Promise(callback => setTimeout(() => callback('ok'), 800))
const obecanje2 = new Promise(callback => setTimeout(() => callback('vazi'), 400))
const obecanje3 = new Promise(callback => setTimeout(() => callback('ispunjeno'), 200))
Promise.all([obecanje1, obecanje2, obecanje3]).then(
rezultati => console.log(rezultati)
)