是这样, 我在浏览器端发送Ajax请求给后台的DWR但是因为业务的需要,请求是分两次发送到后台的而两次请求返回后的JS处理函数是不同的两个~如果一个请求返回以后,浏览器正在执行其处理函数这时候第二个请求返回了,浏览器会怎么做呢?是不是会等第一个请求处理函数结束后再执行另一个请求处理函数呢?关于两个请求处理函数中是否涉及到需要互斥的操作之类的问题先不考虑~谢谢大家
调试欢乐多
反正它会给你一一处理好,不会给你带来错误的。
如果你想让两个处理函数分先后执行的话,我也不知道怎么搞,
最好就是把函数写好一点,不管哪个先执行都不会带来错误结果
比如默认有个全局变量 isFna = 0
a数据返回执行完相应函数后设置 isFna = 1
b数据返回后的函数开始这样
function bFn(data){
if(!isFan){
var my = arguments.callee;
setTimeout(function(){ my(data) }, 1000);
return;
}
}
a方法还没有执行完毕,b方法的responsetext就回来了,会使a方法停止
如果是相同的一个ajax对象,a不会被执行,仅会执行b.
因为在用第二次open后,ajax的回调函数指针已经指向b.
如果是不同的对象,及每次open都new一个对象,则a和b都会被执行.
如果没有明确的先后顺序的要求,那么不用做任何处理,。