जावास्क्रिप्ट में लूप में चित्रों का अतुल्यकालिक लोडिंग
मान लीजिए कि चित्रों के पथ एक सरणी में संग्रहीत हैं:
let arr = ['img1.png', 'img2.png', 'img3.png'];
हम इन चित्रों को एक लूप में लोड कर सकते हैं:
for (let path of arr) {
loadImage(path, function(image, err) {
document.body.append(image);
});
}
कोड सुंदर और कॉलबैक हेल के बिना निकला, हालांकि, हम अपनी दो समस्याओं पर वापस आ गए: चित्रों के क्रम की गारंटी नहीं है और सभी चित्रों के लोड होने के क्षण को पकड़ना असंभव है।
और इस स्थिति में कोई समाधान नहीं है: लूप चलाना, उसके अंदर अतुल्यकालिक फ़ंक्शन का उपयोग करना, और फिर लूप के सभी फ़ंक्शनों के पूरा होने का क्षण पकड़ना असंभव है। या तो आपको उस क्षण को पकड़ने की आवश्यकता नहीं है और ऊपर दिया गया कोड आपके लिए उपयुक्त होगा या फिर कॉलबैक हेल में आपका स्वागत है।
लेकिन, निराश होने की जरूरत नहीं है - समस्या का समाधान प्रॉमिस के माध्यम से संभव है, जिसका अध्ययन हम अगले पाठों में करेंगे।