简介
大家都知道浏览器在处理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 );