当前位置:网站首页>并发优化请求
并发优化请求
2022-04-23 05:57:00 【zjLOVEcyj】
// 并发优化10个请求,同时最多只能执行3个
// 输入:promise数组,limit参数
// 存储 reqPool - 并发池
// 思路:塞入 + 执行
function qpsLimit (requestPipe, limitMax=3) {
let reqPool = []
// 往并发池里塞入请求
const add = () => {
let req = requestPipe.shift()
reqPool.push(req)
}
// 执行实际请求
const run = () => {
if (requestPipe.length === 0) return
let finsh = Promise.race(reqPool)
finsh.then(res => {
let done = reqPool.indexOf(finsh)
reqPool.splice(done, 1)
add()
})
run()
}
while (reqPool.length < limitMax) {
add()
}
run()
}
版权声明
本文为[zjLOVEcyj]所创,转载请带上原文链接,感谢
https://blog.csdn.net/cyj5201314/article/details/124035188
边栏推荐
猜你喜欢

.Net Core3.1 使用 RazorEngine.NetCore 制作实体生成器 (MVC网页版)

.NET跨平台原理(上篇)

MOS tube characteristics and conduction process

若依如何input改成文本

WebAPI+Form表单上传文件

Overview of node file system and buffer

Analysis of fixed point PID code of FOC motor Library

ASP.NET CORE3.1 Identity注册用户后登录失败的解决方案

Aperçu de Redux

Devexpress Gridview 添加全选列
随机推荐
js更改全部变量失败后改成return方法,终于解决解决问题
EF CORE在ASP.NET CORE项目中基于数据库优先模式生成实体模型
2020 Jiangsu Collegiate Programming Contest-A.Array
el-table添加序号
New type of dark energy could solve Universe expansion mystery
Navicat 连接 oracle library is not loaded的解决方法
WebSocket(基础)
Add serial number to El table
JS的解析与执行过程
1-1 NodeJS
Color string conversion
Leetcode刷题之实现strStr()
各进制数之间的互相转换
1-4 NodeJS的安装之配置可执行脚本
Redux概述
手动实现call,apply,bind函数
【ES6】 Promise相关(事件循环,宏/微任务,promise,await/await)
C# 监听WMI事件
.NET跨平台原理(上篇)
查漏补缺(三)