# basic-queue **Repository Path**: mirrors_mapbox/basic-queue ## Basic Information - **Project Name**: basic-queue - **Description**: a basic queue with concurrency - **Primary Language**: Unknown - **License**: BSD-2-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-09 - **Last Updated**: 2026-01-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # basic-queue Provides super-simple handling of repeated asynchronous commands. ## api `var q = Queue(worker, concurrency)` - `worker` is a function that this queue runs. `worker` will receive a callback function as the second argument. The first argument is specified when you call `q.add()` (see below). - `concurrency` is 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 ```js var request = require('request'); var Queue = require('@mapbox/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'); ```