Promise-based queue
Installation
promise-queue
can be installed using npm
:
npm install promise-queue
Interface
new Queue(Number maxConcurrent, Number maxQueued): Queue
Queue#add(Function generator): Promise
- adds function argument that generates a promise to the queueQueue#getQueueLength(): Number
- returns current length of buffer(added but not started promise generators)it <= maxQueued
Queue#getPendingLength(): Number
- returns number of pending(concurrently running) promisesit <= maxConcurrent
Example
Configure queue
By default Queue
tries to use global Promises, but you can specify your own promises.
Queue;
Or use old-style promises approach:
Queue;
Queue one by one example
var maxConcurrent = 1;var maxQueue = Infinity;var queue = maxConcurrent maxQueue; app;
Getting number of pending promises and queue(buffered promises) length
var maxConcurrent = 1;var maxQueue = 1;var queue = maxConcurrent maxQueue; queue; queue; queue === 1;queue === 1;