Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
default
✓ var taskQueue = require('promise-task-queue');
✗ import taskQueue from 'promise-task-queue';
This package does not export an ES module; use CommonJS require(). There is no default export in ESM style.
Promise
✓ var Promise = require('bluebird');
✗ var Promise = global.Promise;
Library uses Promises/A+; it's recommended to use a polyfill like bluebird for compatibility, though any Promises/A+ implementation works.
queue.on
✓ var queue = taskQueue(); queue.on('failed:apiRequest', function(task) { ... });
✗ queue.addEventListener('failed', handler);
Use .on() for events (EventEmitter style), not addEventListener.
Defines a task type 'apiRequest' with concurrency 2, pushes a task, and handles events on failure.
var Promise = require('bluebird');
var bhttp = require('bhttp');
var taskQueue = require('promise-task-queue');
var queue = taskQueue();
var failedRequests = 0;
queue.on('failed:apiRequest', function(task) {
failedRequests += 1;
});
queue.define('apiRequest', function(task) {
return Promise.try(function() {
return bhttp.get('http://api.example.com/users/' + task.username, {decodeJSON: true});
}).then(function(response) {
return response.body;
});
}, {
concurrency: 2
});
return queue.push('apiRequest', {username: 'joepie91'}).then(function(jsonResponse) {
console.log('This user has ' + jsonResponse.repositoryCount + ' repositories.');
});
Errors
Common errors & fixes
TypeError: taskQueue is not a function
Importing the module incorrectly (e.g., using ES import syntax without a default export).
fixUse const taskQueue = require('promise-task-queue'); Error: No handler defined for task type 'myTask'
Pushing a task for a type that hasn't been defined with queue.define().
fixCall queue.define('myTask', handler, options) before queue.push('myTask', data). DeprecationWarning: Using Promises without a polyfill may cause issues.
The library expects a Promises/A+ polyfill; older Node versions don't have native Promise.
fixAdd 'var Promise = require('bluebird');' before using the queue. Audit
Dependencies
bluebirdoptionalExample usage uses Bluebird; library works with any Promises/A+ but recommends Bluebird for features.