Node.js核心模塊 事件驅(qū)動(dòng)--events和error

nodejs最重要的模塊。提供了事件唯一的接口。

一. 事件發(fā)射器

  1. 概念
    events木塊只提供了一個(gè)對(duì)象: events.EventsEmitter。
    eventemitter 的核心就是事件輻射和事件監(jiān)聽器的封裝。
  2. EventEmitter(event,listener) 為指定事件注冊一個(gè)監(jiān)聽器,接受一個(gè)字符串 event 和一個(gè)回調(diào)函數(shù) listener。
  3. EventEmitter.emit(event,[arg1].[arg1],[arg2],...)發(fā)射event事件,傳遞若干可選參數(shù)到事件監(jiān)聽器的參數(shù)。
  4. EventEmitter.once(event,listener) 為指定事件注冊一個(gè)單次監(jiān)聽器這個(gè)監(jiān)聽器最多只會(huì)觸發(fā)一次。
  5. EventEmitter.removeListener (event,listener) 移除指定事件的監(jiān)聽器,listener必須是該事件已經(jīng)注冊過的監(jiān)聽器。
    6.EvenetEmitter.removeAllListeners([event]) 移除所有事件的所有監(jiān)聽器。如果指定event,則移除指定事件的所有監(jiān)聽器。

二. error事件
EventEmitter定義了一個(gè)特殊事件error,當(dāng)我們遇到異常時(shí)會(huì)發(fā)射error事件。
當(dāng)error被發(fā)射時(shí),EventEmitter規(guī)定如果沒有響 應(yīng)的監(jiān)聽器,Node.js 會(huì)把它當(dāng)作異常,退出程序并打印調(diào)用棧。
一般要為會(huì)發(fā)射error 事件的對(duì)象設(shè)置監(jiān)聽器,避免遇到錯(cuò)誤后整個(gè)程序崩潰。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Node.js EventEmitter Node.js 所有的異步 I/O 操作在完成時(shí)都會(huì)發(fā)送一個(gè)事件到事件隊(duì)...
    FTOLsXD閱讀 380評(píng)論 1 2
  • 內(nèi)容來自《Node.js開發(fā)指南》 核心模塊是 Node.js 的心臟,它由一些精簡而高效的庫組成,為 Node....
    angelwgh閱讀 980評(píng)論 0 1
  • Node.js EventEmitter Node.js 所有的異步 I/O 操作在完成時(shí)都會(huì)發(fā)送一個(gè)事件到事件隊(duì)...
    yyshang閱讀 319評(píng)論 0 1
  • Module definition patterns 除了作為加載依賴的機(jī)制之外,模塊系統(tǒng)也是一種用于定義AP...
    宮若石閱讀 566評(píng)論 0 0
  • 人生如旅行,每天都在忙忙碌碌。眨眼間,時(shí)間過得很快很快?;蛟S你有過很多的旅行,但卻有你最難忘的旅行。旅行,就像是散...
    憧憬你的邂逅閱讀 686評(píng)論 0 5

友情鏈接更多精彩內(nèi)容