npm.io
0.2.0 • Published 11 years ago

callback-count

Licence
MIT
Version
0.2.0
Deps
1
Vulns
0
Weekly
0
Stars
5

callback-count Build Status

Count callbacks before continuing, tiny control flow helper, allows dynamic counting.

Flow control

var callbackCount = require('callback-count');
var counter = callbackCount(done);

setTimeout(counter.inc().next, 100);
setTimeout(counter.inc().next, 100);

function done (err) {
  console.log('finished.');
}
.inc() allows you to dynamically update the number of callbacks you are expecting.
var callbackCount = require('callback-count');
var counter = callbackCount(done);

counter.inc().inc().inc();
counter.next().next().next();

function done (err) {
  console.log('finished.');
}
The constructor can take an initial value for the count expected
var callbackCount = require('callback-count');
var counter = callbackCount(3, done);

counter.next().next().next();

function done (err) {
  console.log('finished.');
}
.next() decrements the count and callsback when the count has reached 0
var counter = createCounter(3, done);

counter.next().next().next();

function done (err) {
  console.log(counter.count); // 0
  console.log('finished.');
}
if .next() receives an error it will callback immediately
var counter = createCounter(3, done);

counter.next(new Error('boom'));

function done (err) {
  console.log(err.message); // boom
}
License: MIT

Keywords