2.0.0 • Published 10 years ago

esync v2.0.0

Weekly downloads
13
License
MIT
Repository
github
Last release
10 years ago

ESync is a dirt simple module for waiting on a bunch of async tasks. Build Status

var esync = require('esync');

var wait = esync();

wait(function(cb) {
    cb();
});
wait(function(cb) {
    setTimeout(cb, 1000);
});
wait(function(cb) {
    var err = new Error("Oops!");
    cb(err);
});

wait.end(function(err) {
    /* ... */
});

Its main purpose is as a utility for EventEmitters that need to offer listeners a way to delay execution.

var esync = require('esync');
var EventEmitter = require('events');

var emitter = new EventEmitter();

emitter.on('foo', function(arg1, arg2, wait) { wait(function(cb) {
    setTimeout(cb, 1000);
}); });

var wait = esync();
emitter.emit('foo', 3, 5, wait);
wait.end(function(err) {
    /* ... */
});

The beaty of this is that it's optional; listeners can simply ignore the parameter. Additionally, it follows the ‘error first’ callback parameter convention seen in Node.js.

2.0.0

10 years ago

1.1.0

11 years ago

1.0.0

11 years ago

0.0.1

13 years ago