프로그램/jQuery

when() 함수로 동기처리 하기

영혼과영혼의양식 2013. 9. 5. 16:02

jQuery 1.5버전에 추가된 동기처리 함수

 

jQuery.when(deferreds) : deferreds에 대한 처리 후 콜백처리

$.when($.ajax("test.jsp")).done(function(){

      alert("Ajax 처리 후 실행");

});

 

동시에 2개의 ajax를 콜하고 이 두개가 모두 성공적으로 종료한 후에 콜백처리 

var aaa = $.ajax("test1.jsp");

var bbb = $.ajax("test2.jsp");

 

$.when(aaa, bbb).done(function(){

     alert("aaa, bbb 처리 후 실행");

}); 

 

done()와 then()의 차이 

done()은 ajax가 성공일때 콜백 호출

     $.when($.ajax("test.jsp")).done(function(){ alert("ajax 성공"); });

 

then()은 ajax가 성공일때와 실패일때를 구분하여 콜백 호출

     $.when($.ajax("test.jsp")).then(successFunction, failFunction);

 

 

출처 : 언젠가는, 반드시님 블로그, jQuery API