2013-02-25 3 views
0

AJAX 요청을 실행하거나 실행하지 않을 수있는 함수를 생각해보십시오. $.ajaxDeferred 인스턴스를 반환합니다. 연결 가능성을 위해 함수는 항상 Deferred 인스턴스를 반환해야합니다. jQuery 지연된 기본 상태 설정

doAjaxReq() 
    .done(function() { 
     doAjaxReq2() 
      .done(function() { 
       .... 
      }) 
     .fail(ajaxFailHandler) 
    }) 
    .fail(ajaxFailHandler); 

어떻게 새로운 Deferred 객체의 기본 상태를 설정할 수 있습니다 다음과 같이
function doAjaxReq() { 
    if (conditional_is_true) { 
     return (
       $.ajax(
       .... 
      ); 
     ); 
    } else { 
     // Create a Deferred instance 
     var deferred = $.Deferred(); 
     // Set the Deferred state to "done" 
     // ???? 
     return deferred; 
    } 
} 

doAjaxReq2, doAjaxReq3 같은 몇 가지 다른 유사한 기능을 상상해 등 그들은 체인됩니다? 이 경우 AJAX 요청이 시도되지 않더라도 즉시 done() 콜백이 트리거되므로 해결 된 상태로 설정하십시오.

답변