var util = require("util");
var events = require("events");//EventEmitter通过events模块来访问
function Myclass() {//新建一个类
events.EventEmitter.call(this);
}
util.inherits(Myclass, events.EventEmitter);//使这个类继承EventEmitter
Myclass.prototype.write =function(data) {//定义一个新方法 write 属性
this.emit("data", data);//在此触发名为"data"事件
}
var obj=new Myclass();
obj.on("data",function(data) {//注册监听器,监听名为"data"事件
console.log('Received data: "'+ data +'"');
})
obj.write("It works!");// Received data: "It works!"
总结:
自定义创建的类要加入events.EventEmitter.call(this);
设置继承util.inherits(类名, events.EventEmitter);
添加类属性的事件触发,触发哪一个事件类名.prototype.属性名 = function(参数){
this.emit("事件的名称",参数)
}
参数可以为多个。
网友评论