技術分享:NodeJS中的Events(事件觸發器)講解
在 Node.js 中,Event是非常核心的模組,大部分的核心模組基本上都有用到或者繼承了該模組。
Event模組和我們之前在Javascript中學習的EventTarget介面很類似。對於該模組我們能做的不僅僅是簡單的使用還可以在該模組的基礎上做出擴充套件,你想想JS中的onclick、onmousemove
不羅嗦,直接上程式碼!
因為事件模組屬於比較抽象的東西,所以不太適合用大篇幅的語言來描述它,所以我決定直接上程式碼,先實現功能看效果再說。下面就一起來體驗下這個模組的功能吧。
對自定義類進行擴充套件
在前端我們可以對一個元素進行事件的監聽,例如
這種做法實際上就是在對待頁面中的DOM物件新增事件監聽,在Node.js中是無法直接為一個物件新增事件監聽的,因為我們自定義的類或者物件都是沒有實現或繼承 Events 模組的。
想要使用 Events 模組就需要先匯入該模組。
接下來就是具體程式碼的實現:
以上的程式碼就是為了擴充套件我們們自定義類的。
在以上程式碼中我們使用了event模組中的兩個方法:on(),emit()。 這兩個方法分別是為了 註冊事件 與 觸發事件 的。
在event模組中比較有用的方法遠遠不止這兩個,下面列出幾個較為常用的方法。
on():註冊事件,新增被監聽的事件名稱到監聽器陣列的末尾。
addListener():同上。
off():移除事件,從監聽器陣列移除被監聽的事件名稱。
removeListener():同上。
eventNames():返回已註冊監聽器的事件名陣列。 陣列中的值為字串或 Symbol。
Tips:
因為事件的概念較為抽象,所以我們大部開發者並不是很喜歡使用Events模組實現監聽,更多的時候我們可能更加喜歡以回撥函式的方式的完成對某個函式或者方法的監聽。
所以我們對 Events 模組的學習其實並不僅僅是為了將來能在開發中為自定義類新增事件,更多的其實為了對 Node.js 的知識點整體架構有一定的瞭解,瞭解知識點的來龍去脈。
學習了 Events 之後我們也就可以明白為什麼之後學習的很多的核心模組為什麼都會有 on() 和 off() 方法,因為它們都是繼承了 Events 模組的。
希望本篇文章能夠對想要零基礎學習Java知識的你有所幫助。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2765860/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL觸發器例項講解SQL觸發器
- 【vue外掛篇】vue-options-events 事件匯流排觸發Vue事件
- Web前端技術分享:Javascript中的內建物件陣列講解Web前端JavaScript物件陣列
- 瞭解SQL Server觸發器及觸發器中的事務AWSQLServer觸發器
- 技術分享| 快對講,全球對講
- mvvm模式 事件觸發器[wpf]MVVM模式事件觸發器
- jquery中trigger無法觸發hover事件的解決方案jQuery事件
- 瀏覽器/nodeJS 中的事件環工作原理瀏覽器NodeJS事件
- Spring中的事件講解(Application Event)Spring事件APP
- 技術分享| 快對講如何降噪
- 技術分享| 快對講-5G對講
- NodeJS中的事件(EventEmitter) API詳解(附原始碼)NodeJS事件MITAPI原始碼
- The Coalition深入講解《戰爭機器5》的技術(上)
- Camunda定時器事件示例Demo(Timer Events)定時器事件
- 取消事件觸發事件
- storage事件中的坑,storage.setItem()無法觸發storage事件事件
- nodejs事件和事件迴圈詳解NodeJS事件
- Nodejs學習筆記-01 eventsNodeJS筆記
- 理解瀏覽器和nodeJs中的事件迴圈(Event Loop)瀏覽器NodeJS事件OOP
- 批量更新時無法觸發事件的解決方法事件
- 區塊鏈公鏈的開發丨技術講解方案區塊鏈
- jQuery select 觸發事件jQuery事件
- nodejs中的事件迴圈 - Event LoopNodeJS事件OOP
- DApp智慧合約技術開發詳情講解APP
- 深入淺出 Server-sent events 技術Server
- 【併發技術02】傳統執行緒技術中的定時器技術執行緒定時器
- NodeJS Events模組原始碼學習NodeJS原始碼
- touch事件和click事件多次觸發的問題事件
- 前端面試之瀏覽器機制中觸發事件的三個階段前端面試瀏覽器事件
- 技術分享| 排程平臺的好助手-快對講
- SQL Server:觸發器詳解SQLServer觸發器
- 使用 jQuery 觸發 Vue 事件jQueryVue事件
- 取消事件觸發(妙啊)事件
- 數位電路中的觸發器觸發器
- 區塊鏈元宇宙技術系統開發技術功能(方案設計講解)區塊鏈元宇宙
- react中 Ender鍵 觸發事件數(輸入框)React事件
- 深入瞭解nodejs的事件迴圈機制NodeJS事件
- 技術分享| 快對講影片排程功能說明