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);//在此觸發(fā)名為"data"事件
}
var obj=new Myclass();
obj.on("data",function(data) {//注冊監(jiān)聽器克懊,監(jiān)聽名為"data"事件
console.log('Received?data:?"'+?data?+'"');
})
obj.write("It works!");// Received data: "It works!"
總結:
自定義創(chuàng)建的類要加入events.EventEmitter.call(this);
設置繼承util.inherits(類名, events.EventEmitter);
添加類屬性的事件觸發(fā)营勤,觸發(fā)哪一個事件類名.prototype.屬性名 = function(參數(shù)){
this.emit("事件的名稱"迂卢,參數(shù))
}
參數(shù)可以為多個掌实。