Nodejs的大部分核心API都是基于异步事件驱动设计的,所有可以分发事件的对象都是EventEmitter类的实例。
大家知道,由于nodejs是单线程运行的,所以nodejs需要借助事件轮询,不断去查询事件队列中的事件消息,然后执行该事件对应的回调函数,有点类似windows的消息映射机制。至于更细的实现环节,可以另行查找资料。
下面介绍EventEmitter的使用。

1、监听事件和分发事件

EventEmitter实例可以使用on或addListener监听事件,emit()方法分发事件,如下所示:

const events = require('events'), EventEmitter = events.EventEmitter, util = require('util'); function myEmiter(){ EventEmitter.call(this); }; util.inherits(myEmiter,EventEmitter);//继承EventEmitter类 const myEmitterIns = 
        		

网友评论