Asinhrono učitavanje slika u petlji u JavaScript-u
Neka putevi do slika budu sačuvani u nizu:
let arr = ['img1.png', 'img2.png', 'img3.png'];
Možemo da učita ove slike u petlji:
for (let path of arr) {
loadImage(path, function(image, err) {
document.body.append(image);
});
}
Kod je ispao lep i bez callback hell-a, međutim, vratili smo se na naša dva problema: redosled slika nije garantovan i nemoguće je uhvatiti trenutak kada su sve slike učitane.
I rešenje u ovoj situaciji ne postoji: nemoguće je pokrenuti petlju, koristiti asinhronu funkciju unutar nje, a zatim uhvatiti trenutak završetka svih funkcija u petlji. Ili vam ne treba da uhvatite ovaj trenutak i gore navedeni kod će vam odgovarati, ili dobrodošli u callback hell.
Ali, ne treba se razočaravati - rešenje problema je moguće preko promisa, koje ćemo učiti u narednim lekcijama.