ECMAScript 2017 के अनुरूप ब्राउज़रों के लिए समाधान
ध्यान दें: यह भी काम करेगा यदि आप बैबेल जैसे ट्रांसपिलर का उपयोग कर रहे हैं।
'use strict';
function imageLoaded(src, alt = '') {
return new Promise(function(resolve) {
const image = document.createElement('img');
image.setAttribute('alt', alt);
image.setAttribute('src', src);
image.addEventListener('load', function() {
resolve(image);
});
});
}
async function runExample() {
console.log("Fetching my cat's image...");
const myCat = await imageLoaded('https://placekitten.com/500');
console.log("My cat's image is ready! Now is the time to load my dog's image...");
const myDog = await imageLoaded('https://placedog.net/500');
console.log('Whoa! This is now the time to enable my galery.');
document.body.appendChild(myCat);
document.body.appendChild(myDog);
}
runExample();
आप सभी छवियों को लोड करने के लिए इंतजार भी कर सकते थे।
async function runExample() {
const [myCat, myDog] = [
await imageLoaded('https://placekitten.com/500'),
await imageLoaded('https://placedog.net/500')
];
document.body.appendChild(myCat);
document.body.appendChild(myDog);
}
या Promise.allउन्हें समानांतर में लोड करने के लिए उपयोग करें।
async function runExample() {
const [myCat, myDog] = await Promise.all([
imageLoaded('https://placekitten.com/500'),
imageLoaded('https://placedog.net/500')
]);
document.body.appendChild(myCat);
document.body.appendChild(myDog);
}
वादों के बारे में अधिक ।
"Async" फ़ंक्शन के बारे में अधिक ।
विनाशकारी असाइनमेंट के बारे में अधिक ।
ECMAScript 2015 के बारे में अधिक ।
ECMAScript 2017 के बारे में अधिक ।
imgऑब्जेक्ट को संदर्भ में रखें , उदाहरण के लिए पैरेंट स्कोप में एक सरणी में।