Skip to content

Glitnirian/ExecQueue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Objects helpers

Exec queue tool set

ExecQueue

init

Notice how to bind an exec callback

this._requestsCallsQueue = new ExecQueue<CallsQueueEl>()
    .bindExecCallback(async (el) => {
        return this._handleRequestsQueueCall(el);
    });

exec callback signature

type ExecCallback<CallbackQueueEl, QueueEl> = (queueEl: CallbackQueueEl, thisExecQueueRef: ExecQueue<QueueEl> | ExecQueueTB<QueueEl>) => void;

push to queue

this._requestsCallsQueue.push({
    methodName,
    originMethod,
    args,
    isOrderMethod,
    ordersRequestsLimitsList,
    requestsLimitsList,
    resolve,
    reject
});

this._requestsCallsQueue.pushMany([...els]);

unshift

this._requestsCallsQueue.unshift(el);

this._requestsCallsQueue.unshiftMany([...els]);

Pause

this._requestsCallsQueue.pause();

resume

this._requestsCallsQueue.resume();

getQueue

this._requestsCallsQueue.getQueue().length

Events

export interface ExecQueueEvents<QueueEl> {
    queueProcessed: () => void,
    elementProcessed: (processedEl: QueueEl) => void
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published