Node.js中的事件

var util = require("util"); //导入util模块
var events = require("events"); //导入events模块
module.exports = MyStream;

function MyStream() {
    events.EventEmitter.call(this); //call方法使得MyStream对象继承了EventEmitter对象上的方法
}
util.inherits(MyStream, events.EventEmitter);   //使用inherits方法

MyStream.prototype.write = function (data) {    //MyStream对象扩展了一个write方法,它可以使用emit触发事件
    this.emit("data", data);
};

var stream = new MyStream();    //构建一个stream对象

console.log("stream instanceof events.EventEmitter: " + (stream instanceof events.EventEmitter)); //判断stream对象是不是EventEmitter对象的实例,这里为true
console.log("MyStream.super_ === events.EventEmitter: " + (MyStream.super_ === events.EventEmitter)); //MyStream的父类是不是EventEmitter,这里为true

stream.on("data", function (data) {
    console.log(‘Received data: "‘ + data + ‘"‘);
});
stream.write("It works1!");
stream.write("It works2!");

运行结果如下:

涉及模块:eventsutil

核心函数:util.inherits

Node.js中的事件,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。