sindresorhusp-queue JavaScript 异步并发控制器

sindresorhus/p-queue: JavaScript 异步并发控制器

p-queue 在 GitHub 上已经拿到 4,200 Star 了。 这是一个专门控制 JavaScript 异步操作并发数量的工具,适用于 Node.js 和浏览器环境。

1、核心功能

批量处理异步任务时,p-queue 可以限制同时运行的任务数量,避免资源耗尽。比如批量请求接口、处理大量文件读写时,控制并发数可以防止触发服务限流,也能避免系统负载过高。

2、主要特性

支持优先级设置,高优先级任务可以先执行。支持暂停和恢复队列,运行过程中可以动态调整并发数。支持任务超时设置,超过指定时间未完成的任务自动终止。支持事件监听,可以获取任务完成、失败、队列空闲等状态通知。

3、基础使用示例

安装:

bash 复制代码
npm install p-queue

基础用法:

javascript 复制代码
import PQueue from 'p-queue';
// 最多同时运行2个异步任务
const queue = new PQueue({ concurrency: 2 });
// 添加任务到队列
queue.add(() => fetch('https://example.com/api/1'));
queue.add(() => fetch('https://example.com/api/2'));
queue.add(() => fetch('https://example.com/api/3'));
// 前两个任务同时执行,第三个等前两个任意一个完成后再启动

4、适用场景

  • 批量爬取网页数据,控制请求频率避免被服务方限制
  • 批量上传或下载文件,限制网络带宽占用
  • 处理大量异步计算任务,控制 CPU 负载在合理范围
  • 调用第三方 API 时,符合服务商的限流规则要求 开源地址:github.com/sindresorhu...
相关推荐
小弥儿9 小时前
GitHub今日热榜 | 2026-08-26:AI 大脑与知识管理扎堆
人工智能·学习·开源·github
阿里嘎多学长9 小时前
2026-08-24 GitHub 热点项目精选
开发语言·程序员·github·代码托管
其实防守也摸鱼9 小时前
信创是什么:一文读懂信息技术应用创新
人工智能·阿里云·云计算·github·copilot
秃秃秃秃哇10 小时前
fatal: the remote end hung up unexpectedl
github
峰向AI11 小时前
Label Studio:数据标注领域的"瑞士军刀",文本、音频、视频、图片、时序全部拿捏
github
逛逛GitHub12 小时前
把这个国产神器接入你的 Codex 或 Claude Code,图片秒变 3D 模型。
github
chongzhe13 小时前
AgentConnect:多 Agent 协作的开源版 Claude Tag
人工智能·github·源码
蚂蚁集团数据体验技术13 小时前
推荐免费工具,AntV 开源社区出品数据可视化产品 Sive
github·agent·数据可视化
用户693717500138414 小时前
前阵子刷屏的 Ox-Alpha 真身揭晓!GLM-5.3-Flash 上线,这价格真的杀疯了
前端·后端·github
浪潮行舟15 小时前
使用 Notion 和 GitHub 构建知识库系列一
github·notion