Asinhrono nalaganje slik v zanki v JavaScript
Naj poti do slik shranijo v matriki:
let arr = ['img1.png', 'img2.png', 'img3.png'];
Te slike lahko naložimo v zanki:
for (let path of arr) {
loadImage(path, function(image, err) {
document.body.append(image);
});
}
Koda je lepa in brez callback hell, vendar smo se vrnili k našima dvema težavama: vrstni red slik ni zajamčen in nemogoče je ujeti trenutek, ko so vse slike naložene.
In rešitve v tej situaciji ni: nemogoče je zagnati zanko, uporabiti znotraj nje asinhrono funkcijo in nato ujeti trenutek zaključka vseh funkcij zanke. Ali vam ni potrebno ujeti tega trenutka in zgoraj navedena koda vam ustreza ali pa dobrodošli v callback hell.
Toda, ni vam treba biti žalostni - rešitev težave je mogoča preko promisov, ki jih bomo preučevali v naslednjih lekcijah.