@bacnet-js/device
Version:
A TypeScript library for implementing BACnet IP devices in Node.js.
20 lines • 523 B
JavaScript
import fastq from 'fastq';
/**
* A queue that takes in and runs asynchronous functions (tasks) in series.
*/
export class TaskQueue {
#queue;
constructor() {
this.#queue = fastq.promise(task => task(), 1);
}
/**
* Runs a task function in the queue.
*
* @returns a promise that resolves to the same value as that which is
* returned by the task function.
*/
async run(task) {
return this.#queue.push(task);
}
}
//# sourceMappingURL=taskqueue.js.map