Node.JS事件的綁定與觸發(fā)示例詳解
簡(jiǎn)介
node.js的事件是使用events模塊,通過(guò)實(shí)例化它里面的EventEmitter類(lèi),來(lái)綁定和監(jiān)聽(tīng)事件。
EventEmitter,它的每個(gè)事件都是由
1.事件名,是一個(gè)字符串。
2.諾干個(gè)參數(shù)。
綁定事件
on()
const eve = require("events");
//導(dǎo)入模塊
var event = new eve.EventEmitter();
//進(jìn)行實(shí)例化聲明
event.on('namea', function () {
console.log("堅(jiān)毅的小解同志");
})查看綁定的事件
const eve = require("events");
//導(dǎo)入模塊
var event = new eve.EventEmitter();
//進(jìn)行實(shí)例化聲明
event.on('namea', function () {
console.log("堅(jiān)毅的小解同志");
})
//查看對(duì)象屬性 里面有綁定的事件
console.log(event);
里面有事件具體的屬性,和事件的數(shù)量。
addListener()
除了使用on之外,我們還可以使用這個(gè)屬性,和on并沒(méi)有什么區(qū)別。
const eve = require("events");
//導(dǎo)入模塊
var event = new eve.EventEmitter();
//進(jìn)行實(shí)例化聲明
event.addListener('namea', function (a) {
console.log(`堅(jiān)毅的${a}同志`);
})
//觸發(fā)事件冰川入?yún)?shù)
event.emit('namea', '小解');
once()
once 只會(huì)綁定一次性的觸發(fā)事件,觸發(fā)一次后就會(huì)解除綁定。
const eve = require("events");
//導(dǎo)入模塊
var event = new eve.EventEmitter();
//進(jìn)行實(shí)例化聲明 on once addListener
event.once('namea', function (a) {
console.log(`堅(jiān)毅的${a}同志`);
})
//觸發(fā)事件冰川入?yún)?shù)
event.emit('namea', '小解');
event.emit('namea', '小解');我們觸發(fā)兩次,但只會(huì)顯示一次的結(jié)果。

監(jiān)聽(tīng)事件emit()
const eve = require("events");
//導(dǎo)入模塊
var event = new eve.EventEmitter();
//進(jìn)行實(shí)例化聲明
event.on('namea', function () {
console.log("堅(jiān)毅的小解同志");
})
//觸發(fā)事件
event.emit('namea');通過(guò)emit來(lái)進(jìn)行觸發(fā)事件。

傳參
const eve = require("events");
//導(dǎo)入模塊
var event = new eve.EventEmitter();
//進(jìn)行實(shí)例化聲明
event.on('namea', function (a) {
console.log(`堅(jiān)毅的${a}同志`);
})
//觸發(fā)事件冰川入?yún)?shù)
event.emit('namea', '小解');
刪除事件
removeListener()
刪除指定事件的指定監(jiān)聽(tīng)器
const eve = require("events");
const { removeListener } = require("process");
//導(dǎo)入模塊
var event = new eve.EventEmitter();
//進(jìn)行實(shí)例化聲明 on once addListener
let name = function (a) {
console.log(`堅(jiān)毅的${a}同志`);
}
let name2 = function (a) {
console.log(`堅(jiān)毅的${a}同志`);
}
event.once('namea', name)
event.once('namea', name2)
//觸發(fā)事件冰川入?yún)?shù)
event.removeListener('namea', name)
event.emit('namea', '小解');刪除 namea事件中的name屬性,設(shè)置兩個(gè),刪除了一個(gè)name,只留下了name2的結(jié)果。

removeAllListeners()
刪除所有的事件監(jiān)聽(tīng)屬性,只需要寫(xiě)事件名,里面的監(jiān)聽(tīng)屬性都會(huì)被刪除。
const eve = require("events");
const { removeListener } = require("process");
//導(dǎo)入模塊
var event = new eve.EventEmitter();
//進(jìn)行實(shí)例化聲明 on once addListener
let name = function (a) {
console.log(`堅(jiān)毅的${a}同志`);
}
let name2 = function (a) {
console.log(`堅(jiān)毅的${a}同志`);
}
event.once('namea', name)
event.once('namea', name2)
//觸發(fā)事件冰川入?yún)?shù)
event.removeAllListeners('namea')
event.emit('namea', '小解');
總結(jié)
到此這篇關(guān)于Node.JS事件的綁定與觸發(fā)的文章就介紹到這了,更多相關(guān)Node.JS事件綁定與觸發(fā)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Puppeteer實(shí)現(xiàn)頁(yè)面遍歷的示例代碼
很多時(shí)候我們需要遍歷我們的頁(yè)面來(lái)檢查頁(yè)面是否存在問(wèn)題,以更好的保證可用性和安全性,下面就來(lái)講講如何使用puppeteer來(lái)實(shí)現(xiàn)頁(yè)面遍歷的功能吧2023-06-06
編譯打包nodejs服務(wù)代碼如何部署到服務(wù)器
這篇文章主要介紹了編譯打包nodejs服務(wù)代碼如何部署到服務(wù)器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
關(guān)于npm install過(guò)程失敗的幾種處理方式
這篇文章主要介紹了關(guān)于npm install過(guò)程失敗的幾種處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
node.js事件輪詢(xún)機(jī)制原理知識(shí)點(diǎn)
在本篇文章里小編給大家分享的是一篇關(guān)于node.js事件輪詢(xún)機(jī)制的相關(guān)知識(shí)點(diǎn)文章,有興趣的朋友們可以參考下。2019-12-12
autojs的nodejs打包成品app經(jīng)驗(yàn)分享
這篇文章主要為大家介紹了autojs的nodejs打包成品app經(jīng)驗(yàn)分享,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
詳解在Node.js中發(fā)起HTTP請(qǐng)求的5種方法
這篇文章主要介紹了詳解在Node.js中發(fā)起HTTP請(qǐng)求的5種方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
Nodejs Express 通過(guò)log4js寫(xiě)日志到Logstash(ELK)
這篇文章主要介紹了Nodejs Express 通過(guò)log4js寫(xiě)日志到Logstash(ELK),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
Nodejs關(guān)于gzip/deflate壓縮詳解
本文主要向大家介紹了nodejs中關(guān)于gzip/deflate壓縮的2種方法,分別是管道壓縮和非管道壓縮,十分詳細(xì),并附帶示例,這里推薦給大家參考下。2015-03-03
nodejs中向HTTP響應(yīng)傳送進(jìn)程的輸出
這篇文章主要介紹了nodejs中向HTTP響應(yīng)傳送進(jìn)程的輸出 ,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03

