使用一个叫 p-limit 的库
安装
npm install p-limit
改造后的原请求代码:
import PLimit from 'p-limit'
//限制条数 chrome默认限制同时最多开启六条TCP链接,所以将其分为五条一组,留一条处理别的请求。
const pLimit = PLimit(5)
const dataList = []
const sent = async () => {
for (let i = 0; i < 100; i++) {
dataList.push(pLimit(fetchData))
}
await Promise.all(dataList)
}
const fetchData = async () => {
await fetch('http://...')
.then(res => {
return res
})
}