저는 아직 자바 스크립트를 처음 사용합니다. 서블릿에서 값을 가져 와서 표시하는 버튼을 클릭하는 간단한 페이지를 개발 중입니다. 버튼을 미친 듯이 클릭하지 않으면 잘 작동합니다. 때로는 표시된 결과가 null입니다.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);
}
자바 스크립트 스레드 안전 :
나는이이 같은 다음과 같은 기능에 대한 동시 호출에 의해 발생하는지 궁금? 그렇지 않은 경우이 메소드에 대한 호출을 어떻게 동기화하거나 분리 할 수 있습니까?
대부분의 브라우저는 경쟁 조건을 방지하려고합니다. 나는 자바 스크립트에서 동기화 블록을 보지 못했다. 쉬운 (그리고 싱글 쓰레드) 디자인이다. –