Dav*_*ite 5 javascript xmlhttprequest
Chrome 等浏览器只能执行6 个左右的并行请求。
如果我们尝试同时发起 6 个以上的请求,
for (var i = 0; i < 11; 1++) {
var oReq = new XMLHttpRequest();
oReq.open('GET', URL);
oReq.send();
}
Run Code Online (Sandbox Code Playgroud)
然后浏览器会将它们排队并以 6 个为一组执行它们。
是否可以判断请求何时从“等待”状态转变为实际执行状态?
该onloadstart事件似乎是在请求添加到队列时而不是实际开始加载时触发的。
您是否查看过HttppRequest 的 readyState 属性?也许它会涵盖你的问题..
XMLHttpRequest 对象属性
就绪状态:
保存 XMLHttpRequest 的状态。从 0 到 4 的变化:
0:请求未初始化
1:服务器连接建立
2:收到请求
3:处理请求
4:请求完成,响应就绪
因此,使用此信息您可以执行以下操作:
for (var i = 0; i < 11; 1++) {
var oReq = new XMLHttpRequest();
oReq.open('GET', URL);
oReq.send();
oReq.onreadystatechange = function(){
if (oReq.readyState == 4 && oReq.status == 200) {
//do something like an alert
//you can get rid of the oReq.status if you want and
//just track the readyState (0-4)
};
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |