目錄
簡介
綁定事件
on()
addListener()
once()
監聽事件emit()
傳參
删除事件
removeListener()
removeAllListeners()
簡介
node.js的事件是使用events子產品,通過執行個體化它裡面的EventEmitter類,來綁定和監聽事件。
EventEmitter,它的每個事件都是由
1.事件名,是一個字元串。
2.諾幹個參數。
綁定事件
on()
const eve = require("events");
//導入子產品
var event = new eve.EventEmitter();
//進行執行個體化聲明
event.on('namea', function () {
console.log("堅毅的小解同志");
})
檢視綁定的事件
const eve = require("events");
//導入子產品
var event = new eve.EventEmitter();
//進行執行個體化聲明
event.on('namea', function () {
console.log("堅毅的小解同志");
})
//檢視對象屬性 裡面有綁定的事件
console.log(event);
裡面有事件具體的屬性,和事件的數量。
addListener()
除了使用on之外,我們還可以使用這個屬性,和on并沒有什麼差別。
const eve = require("events");
//導入子產品
var event = new eve.EventEmitter();
//進行執行個體化聲明
event.addListener('namea', function (a) {
console.log(`堅毅的${a}同志`);
})
//觸發事件冰川入參數
event.emit('namea', '小解');
once()
once 隻會綁定一次性的觸發事件,觸發一次後就會解除綁定。
const eve = require("events");
//導入子產品
var event = new eve.EventEmitter();
//進行執行個體化聲明 on once addListener
event.once('namea', function (a) {
console.log(`堅毅的${a}同志`);
})
//觸發事件冰川入參數
event.emit('namea', '小解');
event.emit('namea', '小解');
我們觸發兩次,但隻會顯示一次的結果。
監聽事件emit()
const eve = require("events");
//導入子產品
var event = new eve.EventEmitter();
//進行執行個體化聲明
event.on('namea', function () {
console.log("堅毅的小解同志");
})
//觸發事件
event.emit('namea');
通過emit來進行觸發事件。
傳參
const eve = require("events");
//導入子產品
var event = new eve.EventEmitter();
//進行執行個體化聲明
event.on('namea', function (a) {
console.log(`堅毅的${a}同志`);
})
//觸發事件冰川入參數
event.emit('namea', '小解');
删除事件
removeListener()
删除指定事件的指定監聽器
const eve = require("events");
const { removeListener } = require("process");
//導入子產品
var event = new eve.EventEmitter();
//進行執行個體化聲明 on once addListener
let name = function (a) {
console.log(`堅毅的${a}同志`);
}
let name2 = function (a) {
console.log(`堅毅的${a}同志`);
}
event.once('namea', name)
event.once('namea', name2)
//觸發事件冰川入參數
event.removeListener('namea', name)
event.emit('namea', '小解');
删除 namea事件中的name屬性,設定兩個,删除了一個name,隻留下了name2的結果。
removeAllListeners()
const eve = require("events");
const { removeListener } = require("process");
//導入子產品
var event = new eve.EventEmitter();
//進行執行個體化聲明 on once addListener
let name = function (a) {
console.log(`堅毅的${a}同志`);
}
let name2 = function (a) {
console.log(`堅毅的${a}同志`);
}
event.once('namea', name)
event.once('namea', name2)
//觸發事件冰川入參數
event.removeAllListeners('namea')
event.emit('namea', '小解');