在这种情况下,我的ajax调用必须以特定的顺序执行。我曾在其他情况下使用过jQuery延迟对象,但似乎找不到一种方法来使其具有适当的行为。
我有一个在其生命周期内执行大量ajax
请求的函数。部分请求会在其他请求成功回调时执行。
我的问题是:有没有办法将所有嵌套的延迟对象返回到原始的 $.when
调用?
一个简化的例子是:
function nestedAjax() {
$.get("/", function(){
console.log("First ajax done.");
$.get("/", function(){
console.log("Second ajax done.");
});
});
};
我尝试让nestedAjax
函数使用$.when()
和$.done()
,如下所示:
$.when(nestedAjax()).done(function(){
console.log("Complete");
});
控制台输出为:
> First ajax done.
> Second ajax done.
> Complete.
我可以返回第一个get
来实现此目的:
> First ajax done.
> Complete.
> Second ajax done.
但显然这不是我所需要的。任何帮助都将不胜感激。
https://stackoverflow.com/questions/12273437
复制相似问题