async-fun-queue
A simple queue executing async functions linearly with pause/resume
Installation
npm install async-fun-queue
Example
The most common use case:
var queue = new AsyncQueue([1, 2, 3], function (job, done) {
collection.push(job);
setTimeout(function () {
done();
}, 100);
});
queue.on('jobStart', function (job) {
});
queue.on('jobDone', function (job) {
});
queue.on('end', function () {
});
queue.run();
A more complicated use case, with pause
and resume
method to controll the execution process:
var queue = new AsyncQueue([1, 2, 3], function (job, done) {
setTimeout(function () {
done();
if (job === 2) {
queue.pause();
setTimeout(function () {
queue.resume();
}, 100);
}
}, 100);
});
queue.on('pause', function () {
});
queue.on('resume', function () {
});
queue.run();