Node.js的事件处理
2013-06-03 09:03
453 查看
从windows系统诞生以来,事件驱动成为最普遍的现象。Node.js也是事件驱动的,这看起来是理所当然的事。但Node.js的事件处理在软件架构里提到了一个更高的高度:基于事件驱动的软件架构。
nodejs事件的核心是EventEmitter。很多nodejs对象继承自EventEmitter,用来处理事件,及回调。
以上的例子说明了EventEmitter的用法。从原理来说,和c#的event实现方法一样的,但使用上有一点不一样:c#的event是通过为类创建一个event属性,燃后对event属性进行事件绑定实现事件驱动,但nodejs是继承EventEmitter实现事件驱动
nodejs事件的核心是EventEmitter。很多nodejs对象继承自EventEmitter,用来处理事件,及回调。
var util = require("util"); var events = require("events");//EventEmitter通过events模块来访问 function MyStream() {//新建一个类 events.EventEmitter.call(this); } util.inherits(MyStream, events.EventEmitter);//使这个类继承EventEmitter MyStream.prototype.write = function(data) {//定义一个新方法 this.emit("data", data);//在此触发名为"data"事件 } var stream = new MyStream(); stream.on("data", function(data) {//注册监听器,监听名为"data"事件 console.log('Received data: "' + data + '"'); }) stream.write("It works!"); // Received data: "It works!"
以上的例子说明了EventEmitter的用法。从原理来说,和c#的event实现方法一样的,但使用上有一点不一样:c#的event是通过为类创建一个event属性,燃后对event属性进行事件绑定实现事件驱动,但nodejs是继承EventEmitter实现事件驱动
相关文章推荐
- 《Node.js》之事件处理机制以及事件环机制(二)
- Node.js中处理异步编程(使用回调处理一次性事件,使用事件监听器处理重复性事件)
- Node.js 用回调处理一次性事件
- node.js 使用-事件处理(EventEmitter)
- Node.js基于Google V8提供了基于事件的I/O处理
- 《Node.js》之事件处理机制以及事件环机制(一)
- node.js中的事件处理机制详解
- Node.js 用回调处理一次性事件
- node.js中的事件处理机制及事件环机制
- 使用js事件机制进行通用操作&特定业务处理的协调
- Node.js使用Buffer类处理二进制数据(二)
- 使用Node.js处理前端代码文件的编码问题
- Node.js中的URL处理方法
- Node.js学习笔记之三:事件_EventEmitter
- TreeView节点 (前台JS 设置 Postback 触发TreeNodeCheckChanged 事件)
- JS绑定事件和移除事件的处理方法
- Node.js 核心事件 Events
- js拼接字符串时,字符串的事件参数需要传对象或对象数组的处理方法
- Node.js调用ffmpeg处理视频
- JS笔记【归纳】:DOM中的事件处理程序