Döngüde JavaScript ile Asenkron Resim Yükleme
Resimlerin yollarının bir dizide saklandığını varsayalım:
let arr = ['img1.png', 'img2.png', 'img3.png'];
Bu resimleri bir döngü içinde yükleyebiliriz:
for (let path of arr) {
loadImage(path, function(image, err) {
document.body.append(image);
});
}
Kod güzel ve callback hell'e düşmeden yazıldı, ancak, iki temel problemimizle yeniden karşılaştık: resimlerin sırası garanti edilmiyor ve tüm resimlerin yüklendiği anı tespit etmek imkansız.
Ve bu durumda bir çözüm yok: Bir döngü başlatıp, içinde asenkron bir fonksiyon kullanarak, ardından döngüdeki tüm fonksiyonların tamamlanma anını yakalayamazsınız. Ya bu anı yakalamaya ihtiyacınız yoksa ve yukarıdaki kod size uyar, ya da callback hell'e hoş geldiniz.
Ancak, üzülmeye gerek yok - bu sorunun çözümü sonraki derslerde öğreneceğimiz promiseler aracılığıyla mümkündür.