node.js - EventEmitter 实现允许您获取监听器的结果?

标签 node.js events hook

我意识到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]");
});

基本上,我希望监听器能够注册,在事件触发时被调用,:

  • 要传递回调参数的监听器。回调将“收集”结果
  • 发射器具有回调,该回调将与结果集合一起调用

在我重新发明轮子之前,是否有一个库可以做到这一点?

最佳答案

没有简单的方法可以做到这一点。为了满足我的要求,我编写了这个 GutHub 模块:

EventEmitterCollector .

享受...

关于node.js - EventEmitter 实现允许您获取监听器的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19214723/

相关文章:

javascript - Mongoose - find() 在没有传递参数时不返回任何内容,但在传递参数时返回数据

javascript - jQuery 事件命名空间可以包含破折号吗?

testing - test.before 钩子(Hook)覆盖 feature.beforeEach 钩子(Hook)。逻辑不好?

mysql - 触发 HTTP 请求并将响应保存在 MYSQL 结果上

javascript - 将 DataView 与 Node.js 缓冲区一起使用

events - this.Loaded += (s, e) => this.loaded = true;?

c# - UWP 中的鼠标和键盘 Hook : Raw input VS KeyEvents VS Global Hook

windows - 如何挂接到 Windows 中的应用程序和进程启动?

node.js - 如何使用 simple-xmpp/node-xmpp 获取 Jabber 用户名册?

c# - SelectedIndexChanged 不起作用!