मुझे एक ऐसा फ़ंक्शन चाहिए जो एक चर के अस्तित्व में आने तक प्रतीक्षा करता है।टाइपिंग के साथ एक चर मौजूद होने तक प्रतीक्षा एक अनंत लूप
function wait(variable, callback) {
if (typeof variable !== "undefined")
callback();
else
setTimeout(function() {
wait(variable, callback);
}, 0)
}
नीचे दिए गए उदाहरण कोड के साथ इस फ़ंक्शन को कॉल करना अनंत लूप का कारण बनता है।
var a;
wait(a, function(){console.log('success')});
setTimeout(function(){a=1}, 1000)
क्यों?
वैरिएबल मूल्य से पारित होते हैं, संदर्भ के अनुसार नहीं, इसलिए आप अपने 'सेटटाइमआउट' में वर्तमान, अपरिभाषित मान को पारित कर रहे हैं। – Barmar
आप 'ए' के मान को पार कर रहे हैं, जो हमेशा 'अपरिभाषित' – haim770