জাভাস্ক্রিপ্টে লুপে অ্যাসিঙ্ক্রোনাস ইমেজ লোডিং
ধরুন ইমেজের পাথগুলি একটি অ্যারেতে সংরক্ষিত আছে:
let arr = ['img1.png', 'img2.png', 'img3.png'];
আমরা এই ইমেজগুলি একটি লুপে লোড করতে পারি:
for (let path of arr) {
loadImage(path, function(image, err) {
document.body.append(image);
});
}
কোডটি সুন্দর এবং কলব্যাক হেল ছাড়াই হয়েছে, তবে, আমরা আমাদের দুটি সমস্যায় ফিরে এসেছি: ইমেজের ক্রম নিশ্চিত নয় এবং সমস্ত ইমেজ লোড হওয়ার মুহূর্তটি ধরা অসম্ভব।
এবং এই পরিস্থিতিতে কোন সমাধান নেই: একটি লুপ চালু করে, এর ভিতরে একটি অ্যাসিঙ্ক্রোনাস ফাংশন ব্যবহার করা, এবং তারপর লুপের সমস্ত ফাংশন সম্পূর্ণ হওয়ার মুহূর্তটি ধরা অসম্ভব। হয় আপনার সেই মুহূর্তটি ধরার প্রয়োজন নেই এবং উপরের কোডটি আপনার জন্য উপযুক্ত হবে, অথবা কলব্যাক হেলে আপনাকে স্বাগতম।
তবে, হতাশ হওয়ার কোন কারণ নেই - সমস্যার সমাধান প্রমিসের মাধ্যমে সম্ভব, যা আমরা পরবর্তী পাঠগুলোতে শিখব।