关键点:1. 通过执行函数控制并发数量;2. 在单个请求结束后再次调用执行函数;3. 考察对promise的理解
方式1
- 封装一个timeout模拟request
- 封装控制并发的类
- 添加任务函数add
- 将任务添加到请求队列中(resolve和reject用来标识该任务的状态)
- 尝试执行
- 执行任务函数run
方式2(给一个urls数组)
面试题:浏览器的最大并发请求数量是多少?为什么这么设计?
在HTTP版本为1.1时,现代浏览器例如Chrome一般对同一域名的最大并发请求数量限制在6个,也就是对同一域开启的TCP链接最多为6个。这种设计主要是为了避免对服务器造成过大的负载,确保网络资源合理使用,并提高用户的网页加载速度和整体浏览体验。
如果并发请求数量过多,可能会导致服务器响应变慢,甚至无法响应,从而影响用户体验。