我意识到 nodejs 有一个强大的 EventEmitter 构造函数,它允许你发出事件。但是,EventEmitter 缺少的是一种让事件发射器查看侦听器返回的内容的方法。
这是我追求的功能:
e = new FantasticEventEmitter();
e.on( 'event1', function( param1, param2, cb ){
console.log("First listener called...")
cb( null, 10 );
});
e.on( 'event1', function( param2, param2, cb ){
console.log("Ah, another listener called!");
cb( null, 20 );
});
e.emit( 'event1', 'firstParameter', 'secondParameter', function( err, res ){
console.log("Event emitted, now res will be [ 10, 20]");
});
基本上,我希望听众能够注册,在事件触发时被调用,并且:
- 监听器被传递一个回调参数。回调将“收集”结果
- 发射器有一个回调,它将与结果集合一起调用
在我重新发明轮子之前,是否有一个图书馆已经这样做了?