Javascript 确定是否完成了2个AJAX进程,即使剩余的AJAX进程仍在进行中

Javascript 确定是否完成了2个AJAX进程,即使剩余的AJAX进程仍在进行中,javascript,php,jquery,ajax,ajaxform,Javascript,Php,Jquery,Ajax,Ajaxform,我已经知道如何检测所有AJAX进程是否由以下代码完成: jQuery(document).ajaxStop(function(){ alert('All AJAX Process is done.'); }); 例如,有三个AJAX进程:oneProcess,twoProcess,threeProcess oneProcess和twoProcess已完成,而threeProcess仍在处理中。我是如何调用两个AJAX进程的?最简单的方法是利用$.when(),将oneProcess,

我已经知道如何检测所有AJAX进程是否由以下代码完成:

jQuery(document).ajaxStop(function(){
    alert('All AJAX Process is done.');
}); 
例如,有三个AJAX进程:
oneProcess
twoProcess
threeProcess


oneProcess
twoProcess
已完成,而
threeProcess
仍在处理中。我是如何调用两个AJAX进程的?

最简单的方法是利用
$.when()
,将
oneProcess
twoProcess
作为参数传递

var oneProcess=new$.Deferred(函数(dfd)){
setTimeout(函数(){
dfd.解决(“一个流程完成”)
},Math.floor(Math.random()*1500));
返回dfd.promise()
}).然后(日志);
var twoProcess=新的美元递延(功能(dfd){
setTimeout(函数(){
dfd.解决(“两个过程完成”)
},Math.floor(Math.random()*1500));
返回dfd.promise()
}).然后(日志);
var threeProcess=函数(msg){
日志(msg);
返回新的延迟美元(函数(dfd){
setTimeout(函数(){
dfd.解决(“三个过程完成”)
},Math.floor(Math.random()*1500));
返回dfd.promise()
})
}
函数日志(msg){
控制台日志(msg);
}
var checkOneTwo=$.when(一个进程,两个进程);
勾选二。然后(功能(一,二){
三过程(
“oneProcess状态:”+oneProcess.state()
+,twoProcess状态:“+twoProcess.state()
).然后(日志)
});


您可能也应该显示这两个ajax请求的代码执行
oneProcess
twoProcess
始终在
threeProcess
之前完成?您可以使用ajax的
complete
本地事件执行前两个进程。