Я все еще новичок в Javascript. Я разрабатываю простую страницу, где я нажимаю кнопку, получая значение на сервлете и отображаю его. Он работает хорошо, если я не нахожусь на сумасшедшей кнопке. Иногда отображаемый результат равен нулю.
Мне интересно, вызвано ли это одновременными вызовами одной и той же следующей функции:
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);
}
Является ли Javascript потокобезопасным? А если нет, то как я могу синхронизировать или изолировать вызовы к этому методу?