nodejs最重要的模块。提供了事件唯一的接口。
一. 事件发射器
- 概念
events木块只提供了一个对象: events.EventsEmitter。
eventemitter 的核心就是事件辐射和事件监听器的封装。 - EventEmitter(event,listener) 为指定事件注册一个监听器,接受一个字符串 event 和一个回调函数 listener。
- EventEmitter.emit(event,[arg1].[arg1],[arg2],...)发射event事件,传递若干可选参数到事件监听器的参数。
- EventEmitter.once(event,listener) 为指定事件注册一个单次监听器这个监听器最多只会触发一次。
- EventEmitter.removeListener (event,listener) 移除指定事件的监听器,listener必须是该事件已经注册过的监听器。
6.EvenetEmitter.removeAllListeners([event]) 移除所有事件的所有监听器。如果指定event,则移除指定事件的所有监听器。
二. error事件
EventEmitter定义了一个特殊事件error,当我们遇到异常时会发射error事件。
当error被发射时,EventEmitter规定如果没有响 应的监听器,Node.js 会把它当作异常,退出程序并打印调用栈。
一般要为会发射error 事件的对象设置监听器,避免遇到错误后整个程序崩溃。