0.0.3 • Published 10 years ago

co-asyncee v0.0.3

Weekly downloads
11
License
-
Repository
github
Last release
10 years ago

co-asyncee

EventEmitter using generators

var co = require("co");
var Asyncee = require("co-asyncee");
var eventEmitter = new Asyncee();

eventEmitter.on("event1", function* () {
    yield someThunk();
    return "A";
});
eventEmitter.once("event1", function* () {
    yield someThunk();
    return "B";
});

co(function *() {
    var result = yield eventEmitter.emit("event1");
    // result = ["A", "B"];
})();

emit send parameters to listeners

var co = require("co");
var Asyncee = require("co-asyncee");
var eventEmitter = new Asyncee();

eventEmitter.on("event1", function* (arg1) {
    yield someThunk();
    return arg1;
});

co(function *() {
    var result = yield eventEmitter.emit("event1", "param1");
    // result = ["param1"];
})();

By defaults all listeners run in parallel. The execution can be limited by using concurrency option.

var eventEmitter = new Asyncee();
eventEmitter.concurrency = 1;
0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago