nodejs触发事件的两种方式

nodejs触发事件的两种方式:

方式之一:通过实例化events.EventEmitter

//引入events模块
var events = require('events');
//初始化events.EventeEmitter()对象
var eventEmitter = new events.EventEmitter();
//声明一个回调函数
function ring = function(){console.log("Ring,ring ,ring!!!!")}
//采用eventEmitter中的on方法绑定事件
eventEmitter.on('ring',ring);
//触发绑定所有绑定在on上的事件
eventEmitter.emit('ring');

方法之二:通过继承eventsEventEmitter原型来实现时间的绑定触发

var events = require('events');
var util       = require('util');

function ring(){
    events.EventEmitter.call(this);
    this.open = function(){
             console.log("ring inherits from events.EventEmitter");
             this.emit('open');
    }    
}

util.inherits(ring,events.EventEmitter);

var ring_instance =  new ring;

ring_instance.on('open',function(){console.log("Inherits events.EventEmitter and use on bind function")});

ring_instance.open();

需要说明的一点是在javascript 原型需要实例化之后才可以使用 也就是new prototype;