मैं अभी भी जावास्क्रिप्ट के लिए नया हूं। मैं एक साधारण पृष्ठ विकसित कर रहा हूं जहां मैं एक सर्वलेट पर एक मूल्य लाने वाला बटन क्लिक करता हूं और इसे प्रदर्शित करता हूं। यह अच्छी तरह से काम करता है, जब तक कि मैं बटन पर पागल की तरह क्लिक नहीं करता। कभी-कभी, प्रदर्शित परिणाम शून्य है।जावास्क्रिप्ट विधियों को थ्रेड-सुरक्षित या सिंक्रनाइज़ करने के लिए कॉल कर रहे हैं?
मैं सोच रहा हूँ कि यह वही निम्नलिखित कार्य करने के लिए एक साथ कॉल के कारण होता है या नहीं:
function loadXMLDoc2(retr) {
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
$("#" + retr).button('option', 'label', xmlhttp.responseText);
// document.getElementById(retr).innerHTML=xmlhttp.responseText;
}
}
var param = "cmd=" + encodeURIComponent(retr);
document.getElementById("TOP_LEFT").innerHTML = param;
xmlhttp.open("GET","/WebFront/Asynclet?" + param,true);
xmlhttp.send(null);
}
जावास्क्रिप्ट धागा सुरक्षित है? और यदि नहीं, तो मैं इस विधि में कॉल को सिंक्रनाइज़ या अलग कैसे कर सकता हूं?
मुझे लगता है कि अधिकतर ब्राउज़र दौड़ की स्थिति को रोकने की कोशिश करते हैं। मुझे जावास्क्रिप्ट में कोई सिंक्रनाइज़ेशन ब्लॉक या ऐसा नहीं देखा गया क्योंकि यह आसान (और एकल-थ्रेडेड) के लिए डिज़ाइन किया गया है। –