task-queue-lib
TypeScript icon, indicating that this package has built-in type declarations

1.3.2 • Public • Published

TaskQueue

任务队列

介绍

nodejs 任务队列, 针对请求、IO 操作或其他异步操作高并发削峰的解决方案

安装教程

  1. pnpm i
  2. pnpm build

调试说明

  1. pnpm build(构建)
  2. pnpm example(示例)
  3. pnpm debug(调试源码)

用法介绍

安装依赖

pnpm install task-queue-lib

import { TaskQueue } from "task-queue-lib";

切片长度 maxLen

const taskQueue = new TaskQueue({ maxLen: 10 });

新建一个队列

const taskQueue = new TaskQueue({ maxLen: 10 }); taskQueue.push([() => {}])

单个队列中的函数,有几个就 push 几个

taskQueue.push(syncFn.bind(null, "args"));

某个队列中的函数全部执行完成后会触发后续操作

taskQueue.push([() => {}]).then(console.log);// [ undefined ]taskQueue.on(taskQueue.defaultKey, console.log).push([() => {}])

队列索引,通过第二个参数分组,异步操作成组完成

const fn = (params) => params; taskQueue.push([fn.bind(this, "hello")], "task1"); taskQueue.push([fn.bind(this, "world")], "task1").then(console.log); // [ 'hello', 'world' ] taskQueue.push([fn.bind(this, "world")], "task2").then(console.log); // [ 'world' ]

删除前三个异步函数

taskQueue.unshift(3)

初始化当前队列

taskQueue.clearQueue()

Install

DownloadsWeekly Downloads

228

Version

1.3.2

License

ISC

Unpacked Size

62.4 kB

Total Files

16

Last publish

Collaborators

  • diehunter