1.0.1 • Published 9 years ago
@mapbox/basic-queue v1.0.1
basic-queue
Provides super-simple handling of repeated asynchronous commands.
api
var q = Queue(worker, concurrency)
workeris a function that this queue runs.workerwill receive a callback function as the second argument. The first argument is specified when you callq.add()(see below).concurrencyis how many simultaneous instances of the worker are allowed to run.
q.add(object)
Tell the queue to start a new worker when there is room to do so. The
object passed to .add is the first argument passed to the worker function.
events
error
When worker errors, pass an object to the callback function. This will cause
the queue to emit an error event.
empty
Indicates that there is no work left in the queue.
example
var request = require('request');
var Queue = require('basic-queue');
var q = new Queue(scrape, 2);
function scrape(url, callback) {
request(url, function(err, resp) {
if (err) return callback(err);
console.log(resp.body);
callback();
}
}
q.on('error', function(err) {
console.error(err);
});
q.on('empty', function() {
console.log('All done!');
})
q.add('https://www.somewhere.com');
q.add('https://www.someplace.com');
q.add('https://www.something.com');
q.add('https://www.someother.com');1.0.1
9 years ago