Nodejs的大部分核心API都是基于異步事件驅(qū)動設(shè)計的,所有可以分發(fā)事件的對象都是EventEmitter類的實例。
大家知道,由于nodejs是單線程運行的,所以nodejs需要借助事件輪詢,不斷去查詢事件隊列中的事件消息,然后執(zhí)行該事件對應(yīng)的回調(diào)函數(shù),有點類似windows的消息映射機制。至于更細的實現(xiàn)環(huán)節(jié),可以另行查找資料。
下面介紹EventEmitter的使用。

1、監(jiān)聽事件和分發(fā)事件

EventEmitter實例可以使用on或addListener監(jiān)聽事件,emit()方法分發(fā)事件,如下所示: