var xhr1 = $.ajax({ url:'/echo/json/', data:{ delay: 3 } }),
xhr2 = $.ajax({ url:'/echo/json/something/invalid', data:{ delay: 3 } });
xhr1.always(function(){
console.log('xhr1 always');
});
xhr2.always(function(){
console.log('xhr2 always');
});
$.when.apply($, [xhr1, xhr2]).always(function(){
console.log('xhr1 & xhr2 always');
});
結果(控制檯):deferred.always()觸發太早
xhr2 always
xhr1 & xhr2 always
xhr1 always
爲什麼不deferred.always()
等待兩個AJAX調用來完成?是否有任何可以在所有請求完成時使用的回調函數,無論其狀態如何?
您已經在使用'。當()',只需添加'。那麼()'到,你應該有辦法等待所有響應。 – DevlshOne
@DevlshOne我相信只有在兩個調用都成功的情況下才調用'then()'。 – Johan
這是正確的。你是否說OP即使呼叫失敗也想要結果? – DevlshOne