Files
torrentio/addon/lib/namedQueue.js
2024-01-26 01:12:02 +02:00

11 lines
431 B
JavaScript

import namedQueue from "named-queue";
export function createNamedQueue(concurrency) {
const queue = new namedQueue((task, callback) => task.method()
.then(result => callback(false, result))
.catch((error => callback(error))), 200);
queue.wrap = (id, method) => new Promise(((resolve, reject) => {
queue.push({ id, method }, (error, result) => result ? resolve(result) : reject(error));
}));
return queue;
}