MyQueue is a queuing system used to make functions run sequentially or in parallel
Esponjosin With the help of Danny
npm i myqueue --save
If you want to be aware of what is happening internally you can log what the debug event emits
<Queue>.on('debug', console.log)
The add function is used to add the desired function to the waiting list
/**
* @param {Object} [obj] Object with the data of the function
* @param {...any} args Arguments to be given to the function
*/
// Javascript
const Queue = new (require('myqueue'))();
// Typescript
import MyQueue from 'myqueue';
const Queue: MyQueue = new MyQueue();
// Normal
Queue.Add({
fun: log
}, 'Hello', 'World');
function log(...args) {
console.log(...args);
};
// Emitting an event when the task is complete
const observer = new (require('events'));
observer.on('test', console.log)
Queue.Add({
fun: log,
emitter: observer,
event: 'test',
argsToEmit: 'NodeJS'
}, 'Hello', 'World');
/**
Expected Promise Output
{<Function> response}
*/
The slice function is used to remove a waiting function from the queue
/**
* @param {Number} [index] Index in which you want to delete
*/
// Javascript
const Queue = new (require('myqueue'))();
// Typescript
import MyQueue from 'myqueue';
const Queue: MyQueue = new MyQueue();
Queue.Add({
fun: log
}, 'Hello', 'World');
function log(...args) {
console.log(...args);
};
Queue.Add({
fun: log
}, 'Hello', 'World');
Queue.Slice(1)
/**
Expected Promise Output
{<Boolean>}
*/
The function pauses for the queue indefinitely until it is reactivated with the function resume
// Javascript
const Queue = new (require('myqueue'))();
// Typescript
import MyQueue from 'myqueue';
const Queue: MyQueue = new MyQueue();
Queue.Add({
fun: log
}, 'Hello', 'World');
function log(...args) {
console.log(...args);
};
Queue.Pause()
/**
Expected Promise Output
{<Boolean>}
*/
The resume function reactivates the queue
// Javascript
const Queue = new (require('myqueue'))();
// Typescript
import MyQueue from 'myqueue';
const Queue: MyQueue = new MyQueue();
Queue.Add({
fun: log
}, 'Hello', 'World');
function log(...args) {
console.log(...args);
};
Queue.Resume()
/**
Expected Promise Output
{<Boolean>}
*/
The allQueue function returns an array with all the tasks that are waiting
// Javascript
const Queue = new (require('myqueue'))();
// Typescript
import MyQueue from 'myqueue';
const Queue: MyQueue = new MyQueue();
Queue.Add({
fun: log
}, 'Hello', 'World');
function log(...args) {
console.log(...args);
};
Queue.allQueue()
/**
Expected Promise Output
{<Array>}
*/
The Clear function removes the entire queue
// Javascript
const Queue = new (require('myqueue'))();
// Typescript
import MyQueue from 'myqueue';
const Queue: MyQueue = new MyQueue();
Queue.Add({
fun: log
}, 'Hello', 'World');
function log(...args) {
console.log(...args);
};
Queue.Clear()
/**
Expected Promise Output
{<Array>}
*/