JavaScriptте циклде асинхрондүү сүрөттөрдү жүктөө
Сүрөттөргө барабар жолдор массивде сакталсын:
let arr = ['img1.png', 'img2.png', 'img3.png'];
Биз бул сүрөттөрдү циклде жүктөй алабыз:
for (let path of arr) {
loadImage(path, function(image, err) {
document.body.append(image);
});
}
Код сулуу чыкты жана callback hell жок, бирок, биз эки проблемага кайтып келдик: сүрөттөрдүн иреттүүлүгү кепилденбейт жана бардык сүрөттөр жүктөлгөн учурду кармоо мүмкүн эмес.
Бул учурда чечим жок: циклди иштетип, анын ичинде асинхрондүү функцияны колдонуу, андан кийин циклдин бардык функциялары аяктаган учурду кармоо мүмкүн эмес. Сизге же бул учурду кармоо керек эмес жана жогорудагы код сизге ылайыктуу же callback hellге кош келиңиз.
Бирок, апа болбоңуз - маселени чечүү промисстер аркылуу мүмкүн, аларды биз кийинки сабактарда үйрөнөбүз.