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

/item-queue/

    Package Sidebar

    Install

    npm i item-queue

    Weekly Downloads

    81

    Version

    1.1.2

    License

    Apache-2.0

    Unpacked Size

    57.9 kB

    Total Files

    14

    Last publish

    Collaborators

    • jchip