RT
$.ajax({
url: "test1.html",
data:data1,
});
$.ajax({
url: "test2.html",
data:data2,
});
function foo(){
console.log('2个ajax请求均结束');
}
如何在两个ajax事件异步执行且均执行完毕后再执行foo()
在node.js中如果想发送两个请求,获取到两个请求的数据后再进行一系列操作,应该用什么办法?
RT
$.ajax({
url: "test1.html",
data:data1,
});
$.ajax({
url: "test2.html",
data:data2,
});
function foo(){
console.log('2个ajax请求均结束');
}
如何在两个ajax事件异步执行且均执行完毕后再执行foo()
在node.js中如果想发送两个请求,获取到两个请求的数据后再进行一系列操作,应该用什么办法?
$.when($.ajax({
url: "test1.html",
data:data1,
}),$.ajax({
url: "test2.html",
data:data2,
})).done(function(){
console.log('2个ajax请求均结束');
}).fail(function(){
console.log('2个ajax有请求失败');
})
可以用JQ的$.when().then();
$.when($.ajax({
url: "test1.html",
data:data1,
}, $.ajax({
url: "test2.html",
data:data2,
})).then(function(data1,data2){
console.log('2个ajax请求均结束');
})
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
Promise方法:
如果需要两个依次执行,可以用then连接,如果对顺序无要求,可以放入一个数组中,用Promise.all执行。
回调方法:
如果需要依次执行,可以把后一个异步写入前一个异步的回调函数里,再把第三个函数写入后一个异步的回调函数里,也就形成了所谓的'callback hell'...
如果需要同时执行,可以写一个计数器,如count,初始值为0。在两个异步的回调函数里都执行count++,再判断如果count为2,即均执行完毕,就执行第三个函数。