1.1.0 • Published 1 year ago

async-queue-chain v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

npm npm bundle size

Async Queue Chain

A tiny utility to chain async functions in queue and run them sequentially.

Install

npm install --save async-queue-chain

or

yarn add async-queue-chain

or

pnpm install async-queue-chain

Usage

Simply create a queue with fixed number of tasks and run them sequentially.

await createAsyncQueue()
    .add(async () => {
        // do something
    })
    .add(async () => {
        // do something
    })
    .run();

Or create a queue, then dynamically add a task from event handler and run queue.

const queue = createAsyncQueue();

document.addEventListener('click', () => {
    queue.add(async () => {
        // do something
    });
    queue.run();
});

No matter how fast you'll add tasks, how long it will take to run a task, the queue will run them sequentially. Also, queue will simply skip a "run" call if it's already running.

If a task returns a value, it will be passed to the next task. In such case, you'll need to provide initial value for the first task in run method.

const queue = createAsyncQueue();
for (let i = 0; i < 10; i++) {
    queue.add(async (value) => {
        // do something

        return value + 1;
    });
}
const result = await queue.run(0);
console.log(result); // 10
1.1.0

1 year ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago