var util = require('util');
var events = require('events');
function Demo(){ //定义一个类
}
util.inherits(Demo,events.EventEmitter); //Demo类继承EventEmitter类
var demo = new Demo(); //实例化Demo类
demo.on('newListener',function(event,listener){
if(event=='test'){
listener('new listener');
}
});
demo.on('test',function(data){ //定义一个 test方法
console.log(data);
});
demo.emit('test','Musikar'); //触发test函数,Musikar为参数
function MyStream(){
events.EventEmitter.call(this);
}
util.inherits(MyStream, events.EventEmitter);
MyStream.prototype.write = function(data){
this.emit('data',data); //相当于.on('data',function(){})
}
var stream = new MyStream();
console.log(stream instanceof events.EventEmitter); //true
console.log(MyStream.super_ === events.EventEmitter); //.super_得到父类
stream.on('data',function(data){
console.log('Received data:' + data);
})
stream.write('It works!');