Exec queue tool set
Notice how to bind an exec callback
this._requestsCallsQueue = new ExecQueue<CallsQueueEl>()
.bindExecCallback(async (el) => {
return this._handleRequestsQueueCall(el);
});type ExecCallback<CallbackQueueEl, QueueEl> = (queueEl: CallbackQueueEl, thisExecQueueRef: ExecQueue<QueueEl> | ExecQueueTB<QueueEl>) => void;this._requestsCallsQueue.push({
methodName,
originMethod,
args,
isOrderMethod,
ordersRequestsLimitsList,
requestsLimitsList,
resolve,
reject
});
this._requestsCallsQueue.pushMany([...els]);this._requestsCallsQueue.unshift(el);
this._requestsCallsQueue.unshiftMany([...els]);this._requestsCallsQueue.pause();this._requestsCallsQueue.resume();this._requestsCallsQueue.getQueue().lengthexport interface ExecQueueEvents<QueueEl> {
queueProcessed: () => void,
elementProcessed: (processedEl: QueueEl) => void
}