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

1.1.2 • Public • Published

item-queue

An item processing queue using Promise.

API Reference

Features

  • incrementally add items
  • concurrent processing
  • pause and resume processing
  • automatic watch timer for long pending items

Usage

Simple Example:

import { ItemQueue } from "item-queue";

async function test() {
  let total = 0;

  const queue = new ItemQueue<number>({
    // processItem can be an async or sync function
    async processItem(delay) {
      await new Promise((resolve) => setTimeout(resolve, delay));
      total = total + delay;
    },
    itemQ: [10, 20, 30, 40, 50, 60, 70, 80, 90],
    concurrency: 2,
  });

  const waiting = queue.start().wait();
  queue.addItem(75); // add one item while queue in progress
  queue.addItems([55, 45, 35]); // can add multiple items also
  await waiting;

  console.log("result:", total);
}

Demo

More Examples:

See sample for a demo usage with visual-logger.

item-queue demo

Package Sidebar

Install

npm i item-queue

Weekly Downloads

5

Version

1.1.2

License

Apache-2.0

Unpacked Size

57.9 kB

Total Files

14

Last publish

Collaborators

  • jchip