ajax递归发送请求
简介
大家都知道浏览器在处理http网络请求的时候,不同的浏览器会有不一样的并发限制,下表是一些主流浏览器对 HTTP 1.1 和 HTTP 1.0 的最大并发连接数目:
| Browser | HTTP/1.1 | HTTP/1.0 |
|---|---|---|
| IE 10,11 | 6 | 6 |
| firfox | 6 | 6 |
| Safari | 4 | 4 |
| Chrome 4+ | 6 | 6 |
问题
- 当并发超过时浏览器无法按时获取
- 当并发时,资源无法按规定顺序获取(如图片显示的先后顺序)
解决
- 我们这个时候可以利用js的递归去发送http请求:
function recursion( index,array ) {
if ( index < array.length ) {
// 发送请求
fetch(url,data).then( res =>{ retrun json }).then( json => {
console.log( json );
recursion( index+1 ,array )
}).catch(json=>{
console.log( json )
})
};
// 调用函数
recursion( 0,array );

浙公网安备 33010602011771号