callback-count
Version:
Count your callbacks before continuing. A tiny control flow helper that supports dynamic counting.
68 lines (50 loc) • 1.48 kB
Markdown
callback-count [](https://travis-ci.org/tjmehta/callback-count)
==============
#### Count callbacks before continuing, tiny control flow helper, allows dynamic counting.
### Flow control
```js
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.
```js
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
```js
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
```js
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
```js
var counter = createCounter(3, done);
counter.next(new Error('boom'));
function done (err) {
console.log(err.message); // boom
}
```
### License: MIT