如何使用jQuery promises链接三个异步调用?我需要以同步方式进行三次HTTP调用,如何将数据从一个调用传递到另一个调用?function first(){
ajax()}function second(){
ajax()}function third(){
ajax()}function main(){
first().then(second).then(third)}我试图将延迟用于两个函数,我想出了一个部分解决方案。我可以将它扩展为三个功能吗?function first() {
var deferred = $.Deferred();
$.ajax({
"success": function (resp)
{
deferred.resolve(resp);
},
});
return deferred.promise();}function second(foo) {
$.ajax({
"success": function (resp)
{
},
"error": function (resp)
{
}
});}first().then(function(foo){second(foo)})
3 回答
皈依舞
TA贡献1851条经验 获得超3个赞
很晚回复,但我猜答案缺少一些直接的链接代码。链接事件非常简单,在jquery中有promise支持。我使用以下链接:
$.ajax().then(function(){ return $.ajax() //second ajax call}).then(function(){ return $.ajax() //third ajax call}).done(function(resp){ //handle final response here })
它很简单,没有复杂的for循环或多个嵌套的回调。
添加回答
举报
0/150
提交
取消