Ngarkimi Asinkron i Fotove në Një Unazë në JavaScript
Lejo që rrugët drejt fotove të ruhen në një array:
let arr = ['img1.png', 'img2.png', 'img3.png'];
Ne mund t'i ngarkojmë këto foto në një unazë:
for (let path of arr) {
loadImage(path, function(image, err) {
document.body.append(image);
});
}
Kodi doli i bukur dhe pa callback hell, por, ne u kthyem te dy problemet tona: rendi i fotove nuk është i garantuar dhe është e pamundur të kapësh momentin e ngarkimit të të gjitha fotove.
Dhe nuk ka zgjidhje në këtë situatë: është e pamundur të nisësh një unazë, të përdorësh brenda saj një funksion asinkron, dhe pastaj të kapësh momentin e përfundimit të të gjitha funksioneve të unazës. Ose ju nuk keni nevojë ta kapni këtë moment dhe kodi i paraqitur më sipër ju shërben, ose mirësevini në callback hell.
Por, nuk ka pse të dëshpëroheni - zgjidhja e problemit është e mundur përmes promise, të cilat ne do t'i studiojmë në mësimet në vijim.