@wolfx/async-task-queue
TypeScript icon, indicating that this package has built-in type declarations

0.1.4 • Public • Published

为 nodejs 实现了一个简易的异步任务队列管理

异步方可以在任何时候添加到队列中,队列会按照添加的顺序依次执行。

注意:方法必须返回一个 Promise

This is a single async task queue manager for nodejs

This is a single async task queue manager for nodejs, you can add async functions to the TaskQueue at any time. Functions will run one by one.

Example

function f1() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      console.log("f1 done");
      try {
        a(); // error
        resolve();
      } catch (e) {
        reject(e);
      }
    }, 1000);
  });
}
function f2() {
  return new Promise(resolve => {
    setTimeout(() => {
      console.log("f2 done");
      resolve();
    }, 700);
  });
}
function f3() {
  return new Promise(resolve => {
    setTimeout(() => {
      console.log("f3 done");
      resolve();
    }, 500);
  });
}

const AsyncTaskQueue = require("@wolfx/async-task-queue");
const asyncTaskQueue = new AsyncTaskQueue();

asyncTaskQueue
  .add(f1)
  .add(f2)
  .add(f3);

Package Sidebar

Install

npm i @wolfx/async-task-queue

Weekly Downloads

0

Version

0.1.4

License

MIT

Unpacked Size

11.8 kB

Total Files

10

Last publish

Collaborators

  • wolfx