【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
页面加载完后,会执行10个ajax请求,
代码如下:
$(function(){
$.ajax();
$.ajax();
$.ajax();
……
});
查看firebug也是同时有10个ajax请求,按理说,这10个ajax请求,谁先返回结果,谁就执行完成,
但是现在问题是,他们都顺序执行了,第一返回结果后,才执行第二个ajax,依次执行到最后一个。
首先排除$.ajax的async的属性设置问题,
难道是jquery的预加载函数问题,队列顺序执行,不懂这东西。。。不知道什么原因,help。
执行效果如图所示:
1正在执行中
2执行完成
引用来自“燕尾蝶”的答案
这10个ajax,后台执行所需要的时间有长有短,我调整这10个ajax的顺序,他们依然是顺序返回结果,
第2个ajax可能需要300ms,第3个ajax可能需要100s就执行完了
但是实际效果是,第3个ajax要等第2个ajax执行完成才执行
ajax执行本来就是要有限制的,ie最大并发数好像是2个,其他的例外。对于多个ajax请求,是要用队列的。
以前还专门就这个,自己写过一个执行队列。
不是顺序的,我写一个ajax 和一个按钮样式,结果 ajax没结束,样式就显示了