如何将事件与 Node JS 一起使用
how to use events with Node JS?
我想知道使用事件在 ExpressJS 内部的函数之间进行通信是否是一种好的做法?如果是,我如何沿我的发出事件发送参数?
这取决于。如果你在函数之间有真正的异步通信,那么事件是需要考虑的。"Truly"意味着被调用函数的执行线程被 setInterval、nextTick 或 syncIO 中断(只是使用回调不一定是异步的(。如果不是这种情况,则无法使用事件,因为它们将在调用函数可以对其设置侦听器之前发出。
事件需要在被调用的函数中进行更多工作 - 您需要创建 EventEmitter 的实例并将其传回,被调用方将在其上设置侦听器。然后,您调用的函数会发出事件。
如果你的函数之间的关系是一对一的(请求/回复(,结果是成功/失败,那么回调更容易。
如果异步调用的函数可以多次发出事件,或者有多个结果,则事件非常适合。
至于论点,请看文档:http://nodejs.org/api/events.html
emitter.emit(event, [arg1], [arg2], [...])
API 参考:http://nodejs.org/api/events.html#events_emitter_emit_event_arg1_arg2
下面是一个示例:
var emitter = new EventEmitter();
emitter.on('stack', function(name, message) {
console.log("I got the event", name, message);
});
emitter.emit('stack, 'eventName', 'I like arguments');
相关文章:
- 一种将Apache Thrift JS绑定与Backbone.JS一起使用的方法
- CKEditor如何与React.js一起使用,以允许React识别它
- 从服务器端获取一个数组,以便稍后与JS一起使用
- 尝试将DOMParser与node.js一起使用
- 如何将 serializeObject() 与 require.js 一起使用 错误:无法读取未定义的属性“fn”
- 让 js 和 css 与 Ratchet 的 push.js 一起工作
- 将大型 JSON 文件与 d3.js 一起使用会导致大量性能下降/崩溃
- 假服务器与要求.js一起工作
- 如何将 JSP 与 JS 一起使用
- 如何将 CSS 与 JS 一起使用
- 将Cordova插件与Meteor.js一起使用
- 将 React 的不可变助手与 Immutable.js一起使用
- 如何将事件与 Node JS 一起使用
- 如何在UI中与React JS一起进行无限滚动
- 如何将包与require.js一起使用
- 将mongoDB与node.js一起使用的最佳方式是什么
- 向Handlebars中的输入元素添加属性(与Ember.JS 1.0一起使用)
- pcDuino能和cylon.js一起工作吗
- 将pxloader与require.js一起使用
- 将submit与JS一起使用不会传递DATA