呦!解決了! http://jsfiddle.net/sandhyasriraj/AaHZv/
var x = null;
var i = 0;
x= $.Deferred();
var countries=["US","CA","MX","bx","fs","ZX"];
function log(msg) {
var $out=$("<div />");
$out.html(msg);
$("#console").append($out);
}
callX = function(j) {
return $.ajax({
type: "GET",
url: "/echo/json/",
data: {country:countries[i]},
dataType: "JSON",
success: function(){
log("Successful request for [" + countries[j] + "]");
i++;
x.resolve();
xy();
}
});
}
x.resolve();
xy = function()
{
debugger;
if(i > 5)
return;
$.when(x).then(function() {
x = $.Deferred();
log("Making request for [" + countries[i] + "]");
callX(i);
});
}
xy();
這是你想要的嗎?
http://stackoverflow.com/questions/6538470/jquery-deferred-waiting-for-multiple-ajax-requests-to-finish – Vishal
@Vishal,該答案並不能解決問題以啓動ajax呼叫後前一個的成功。 – fcalderan
啊!沒有看到成功的一部分..忽略了以前的評論,我會嘗試找出一些東西。 – Vishal