2011-03-16 9 views
0

을 작동합니까 :어떻게 AJAX 내가이 호출이

// some code; 
myAjaxCall(
     function abcd() {}; 
); 

// more code 

을 할 수있는 더 많은 코드와 동일한 스레드 나 다른 스레드에서 실행 ABCD. 나는 그것이 비동기임을 안다.

+0

가능한 복제본 : http://stackoverflow.com/questions/1510011/how-does-ajax-work – bensiu

답변

3

myAjaxCall은 ajax 래퍼이고 첫 번째 인수는 전체 콜백이라고 가정하면 abcd 함수보다 "more code"가 실행됩니다. 하지만 실제로 무슨 일이 일어나고 있는지 myAjaxCall 함수를 확인해야합니다.

아약스가 다시 실행되면 전체 콜백이 발생 함을 기억하십시오. "더 많은 코드"는 정상적인 실행 경로에서 실행됩니다.

+0

왜 'myAjaxCall'에있는 것이 중요합니까? – javaguy

+0

첫 번째 인수가 어떻게 사용되는지 모르겠다. 'myAjaxCall' arruments [0] 내부에서 호출되면 먼저 발생합니다. –

2

AJAX 요청은 비동기이지만 Javascript 코드는 동기식이며 단일 스레드입니다.

abcd 함수를 실행하기 전에 AJAX 호출 다음 코드가 완료됩니다. 응답이 도착할 때 발생하는 이벤트는 코드가 종료되고 브라우저에 제어가 반환 될 때까지 처리 할 수 ​​없습니다.

관련 문제