【发布时间】:2013-10-01 16:41:27
【问题描述】:
此函数进行两次连续的 AJAX 调用,page1 返回的数据用于对 page2 的请求。
function call() {
return $.ajax("http://example.com/page1").done(function(d) {
$.ajax("http://example.com/page2", { data: d.foo });
});
}
我希望 call() 返回一个仅在 page2 完成加载后才解析的承诺,而不是在 page1 像现在这样完成时,所以可以这样做:
call().done(function() { console.log("page2 has loaded.") });
最好的方法是什么?
【问题讨论】:
-
方法链最好。
-
你检查过 jquery deferred : api.jquery.com/deferred.promise
标签: javascript jquery promise