ජාවාස්ක්රිප්ට් හි ලූපයක් තුළ අසිංක්රෝනික රූප පූරණය කිරීම
රූපවල පථ අරාවක ගබඩා කර ඇතැයි සිතමු:
let arr = ['img1.png', 'img2.png', 'img3.png'];
අපට මෙම රූප ලූපයකින් පූරණය කළ හැකිය:
for (let path of arr) {
loadImage(path, function(image, err) {
document.body.append(image);
});
}
කේතය සුන්දර වුවද, අපි නැවතත් අපගේ ගැටළු දෙකට මුහුණ දී ඇත: රූපවල අනුපිළිවෙල සහතික නොවන අතර සියලුම රූප පූරණය වීමේ මොහොත හඳුනා ගැනීමට නොහැකිය.
මෙම තත්වයට විසඳුමක් නොමැත: ලූපයක් ආරම්භ කර, එහි ඇතුළත අසිංක්රෝනික ශ්රිතයක් භාවිතා කර, පසුව ලූපයේ සියලුම ශ්රිත අවසන් වීමේ මොහොත හඳුනා ගැනීමට නොහැකිය. එසේ නොමැතිනම් ඔබට මෙම මොහොත හඳුනා ගැනීමට අවශ්ය නොවන අතර, ඉහත දක්වා ඇති කේතය ඔබට සුදුසු වේ, නැතහොත් callback hell වෙත සාදරයෙන් පිළිගනිමු.
කෙසේ වෙතත්, කනස්සල්ලට පත් නොවන්න - මෙම ගැටළුවට විසඳුම පොරොමිස් හරහා හැකි අතර, අපි එය ඊළඟ පාඩම්වලදී අධ්යයනය කරමු.