Skip to content

hypercolor/promise-queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hypercolor Promise Queue

Table of Contents

Introduction

This tool is used by the team at Hypercolor Digital to loop through a list of promises and execute them in a queue. This is useful for when you have a list of promises that you want to execute in a specific order, but you don't want to wait for the previous promise to resolve before executing the next one. Additionally, this tool allows you to set a maximum number of concurrent promises that can be executed at any given time.

Installation

  • NPM
    • npm i @hypercolor/promise-queue
  • Yarn
    • yarn add @hypercolor/promise-queue

Usage

Example:

import { PromiseQueue } from '@hypercolor/promise-queue';

const exampleFunction = async (array: any[]) => {
    /*
    Loop through the array and execute a promise for each item.
    Accepts argument for maxConcurrent Promises to process.
    */
  
    //Void Returning Example:
    await new PromiseQueue(1).runall(array.map((item, index) => async () => {
        //do something with the item
        await doSomething(item);
        console.log("Processed item " + index + 1 + ' of ' + array.length + ' items.);
    }));
    
    // Return Array of Processed Items:
    const results = await new PromiseQueue(1).runall(array.map((item, index) => async () => {
        //do something with the item
        const result = doSomethingAndReturnResult(item);
        console.log("Processed item " + index + 1 + ' of ' + array.length + ' items.);
        return result;
    }));
};

More Information

Toolchain

  • TypeScript
  • p-Queue

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published