请问js如何控制ajax请求的并发数限流?
网友回复
由于浏览器并发的请求数是6,如果超过就阻塞了,我们可以写一个缓存器, 把那些还没有发送的请求存起来
设置一个上限值,上限肯定比 6 小, 当正在请求数大于这个数时, 不再请求,具体代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
<script>
class LimitRequest {
// 限制同时请求的数量
limitCount = 0
// 缓存还没有发送的请求
cacheRequest = []
// 当前正在请求的数量
currentRequest = 0
constructor(limitCount) {
this.limitCount = +limitCount || 3
}
/**
* 新增请求
* @param {*} fn
*/
addRequest(fn) {
if (typeof fn !== ...点击查看剩余70%


