繁体   English   中英

从顺序jQuery ajax调用返回诺言?

[英]Return the promise from sequential jQuery ajax calls?

此函数进行两个连续的AJAX调用,其中page1返回的数据用于page2的请求中。

function call() {
    return $.ajax("http://example.com/page1").done(function(d) { 
        $.ajax("http://example.com/page2", { data: d.foo });
    });
}

我希望call()返回一个仅在page2完成加载后才能解析的promise,而不是在page1完成后立即解析的承诺,因此可以执行以下操作:

call().done(function() { console.log("page2 has loaded.") });

最好的方法是什么?

call()只需要很小的修改。

变更donethen ,回到内$.ajax()

function call() {
    return $.ajax("http://example.com/page1").then(function(d) {
        return $.ajax("http://example.com/page2", { data: d.foo });
    });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM