| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
TypeScript utility to enqueue asynchronous tasks and run them sequentially one after another. For Node.js and the browser.
npm install awaitqueueIn ESM:
import {
AwaitQueue,
AwaitQueuePushOptions,
AwaitQueueTask,
AwaitQueueTaskDump,
AwaitQueueStoppedError,
AwaitQueueRemovedTaskError,
} from 'awaitqueue';Using CommonJS:
const {
AwaitQueue,
AwaitQueuePushOptions,
AwaitQueueTask,
AwaitQueueTaskDump,
AwaitQueueStoppedError,
AwaitQueueRemovedTaskError,
} = require('awaitqueue');export type AwaitQueuePushOptions = {
removeOngoingTasksWithSameName?: boolean;
};Options given to awaitQueue.push().
type AwaitQueueTask<T> = () => T | PromiseLike<T>;TypeScript type representing a function that returns a value T or a Promise that resolves with T.
type AwaitQueueTaskDump = {
idx: number;
task: AwaitQueueTask<unknown>;
name?: string;
enqueuedTime: number;
executionTime: number;
};TypeScript type representing an item in the array returned by the awaitQueue.dump() method.
const awaitQueue = new AwaitQueue();size: number;Number of enqueued pending tasks in the queue (including the running one if any).
async push<T>(task: AwaitQueueTask<T>, name?: string, options?: AwaitQueuePushOptions): Promise<T>Accepts a task as argument and enqueues it after pending tasks. Once processed, the push() method resolves (or rejects) with the result (or error) returned by the given task.
stop(): voidMakes all pending tasks reject with an instance of AwaitQueueStoppedError. The AwaitQueue instance is still usable for future tasks added via push() method.
remove(taskIdx: number): voidRemoves the pending task with given index. The task is rejected with an instance of AwaitQueueRemovedTaskError.
dump(): AwaitQueueTaskDump[]Returns an array with information about pending tasks in the queue. See the AwaitQueueTaskDump type above.
Custom Error derived class used to reject pending tasks once awaitQueue.stop() method has been called.
Custom Error derived class used to reject pending tasks once awaitQueue.remove() method has been called.
See the unit tests.
| Back | FazBrowse Home | New Git URL |