Jquery 如何等待在不同本地空间中调用的异步ajax请求
我的程序结构是这样的Jquery 如何等待在不同本地空间中调用的异步ajax请求,jquery,ajax,asynchronous,Jquery,Ajax,Asynchronous,我的程序结构是这样的 if(some condition){ $.ajax(...); } if(some condition){ $.ajax(...); } doSomething(); 如何在doSomething()之前等待异步$.ajax函数的响应?使用async:false是否为“正确方式”?您可以将这些请求推送到一个数组中: var requests = []; if(some condition){ requests.push($.ajax(...));
if(some condition){
$.ajax(...);
}
if(some condition){
$.ajax(...);
}
doSomething();
如何在doSomething()之前等待异步$.ajax函数的响应?使用async:false是否为“正确方式”?您可以将这些请求推送到一个数组中:
var requests = [];
if(some condition){
requests.push($.ajax(...));
}
if(some condition){
requests.push($.ajax(...));
}
$.when.apply($, requests ).done(doSomething);
您可以在阵列中推送这些请求:
var requests = [];
if(some condition){
requests.push($.ajax(...));
}
if(some condition){
requests.push($.ajax(...));
}
$.when.apply($, requests ).done(doSomething);
设置
async:false
几乎无法解决任何问题。如果你需要它,主要是因为糟糕的设计。来自A.Wolff的解决方案应该是首选的方式。永远不要像@smoksnes已经说过的那样使用async:false。您可能想看看设置async:false
几乎无法解决任何问题。如果你需要它,主要是因为糟糕的设计。来自A.Wolff的解决方案应该是首选的方式。永远不要像@smoksnes已经说过的那样使用async:false。你可能想看看