में एसिंक्रोनस फ़ंक्शंस को कैसे अवरुद्ध करें मुझे जावास्क्रिप्ट में एक फ़ंक्शन लिखने की आवश्यकता है, जो एक राज्य को एसिंक्रोनस फ़ंक्शन को कॉल करने से लौटाता है। हालांकि, कॉलर केवल मूल्य प्राप्त करता है और कोई कॉलबैक फ़ंक्शन प्रदान नहीं किया जाता है। मैं कुछ ऐसा करने की कोशिश की:जावास्क्रिप्ट
function getState() {
var ret = null;
asyncCall("request",
function() { ret = "foo"; } // callback
);
while (ret === null)
; // block on the asynchronous call
return ret;
}
हालांकि, पाश कभी नहीं समाप्त करने के लिए जा रहा है ...
कोई भी विचार? धन्यवाद।
आप पहले स्थान पर एसिंक्रोनस कॉल को अवरुद्ध क्यों करना चाहते हैं? ऐसा करने से कोई मतलब नहीं आता है। – Tomalak
@ टॉमोलक: क्योंकि यह फ़ायरफ़ॉक्स द्वारा प्रदान किया गया एक कॉल है और मैं इसे बदल नहीं सकता। यह अधिक मिलीसेकंड लेने की उम्मीद है, मैं इस वजह से अपने सभी अन्य कोड को दोबारा नहीं बदलना चाहता हूं। –
क्या आप उस फ़ंक्शन को पोस्ट कर सकते हैं जो 'getState() 'कहता है? – Tomalak