JavaScriptda sikl ichida asinxron rasm yuklash
Rasmlarning joylashuv manzillari massivda saqlansin:
let arr = ['img1.png', 'img2.png', 'img3.png'];
Biz bu rasmlarni sikl ichida yuklashimiz mumkin:
for (let path of arr) {
loadImage(path, function(image, err) {
document.body.append(image);
});
}
Kod chiroyli va callback hellsiz bo'ldi, biroq, biz ikkita muammoga qaytdik: rasmlarning tartibi kafolatlangan emas va barcha rasmlarning yuklanish paytini aniqlab bo'lmaydi.
Va bu holatda yechim yo'q: siklni ishga tushirib, uning ichida asinxron funksiyadan foydalanish, keyin esa sikldagi barcha funksiyalarning tugash paytini aniqlab bo'lmaydi. Agar sizga bu paytni aniglash kerak bo'lmasa, yuqoridagi kod sizga mos keladi, aks holda callback hellga xush kelibsiz.
Ammo, tushkunlikka tushishning hojati yo'q - muammoni hal qilish keyingi darslarda o'rganadigan promiselar orqali mumkin.