Node.JS事件的绑定与触发示例详解

2022-11-11 16:39:54

目录简介绑定事件on()addListener()once()监听事件emit()传参删除事件removeListener()removeAllListeners()总结简介node.js的事件是使用...

目录
简介
绑定事件
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);

Node.JS事件的绑定与触发示例详解

里面有事件具体的属性,和事件的数量。

addListener()

除了使用on之外,我们还可以使用这个属性,和on并没有什么区别。

const eve = require("events");
//导入模块
var event = new eve.EventEmitter();
//进行实例化声明
event.addListener('namea', function (a) {
    console.log(`坚毅的${a}同志`);
})
//触发事件冰川入参数
event.emit('namea', '小解');

Node.JS事件的绑定与触发示例详解

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', '小解');

 我们触发两次,但只会显示一次的结果。

Node.JS事件的绑定与触发示例详解

监听事件emiwww.cppcns.comt()

const eve = require("events");
//导入模块
var event = new eve.EventEmitter();
//进行实例化声明
event.on('namea', function () {
    console.log("坚毅的小解同志");
})
//触发事件
event.emit('namea');

通过emit来进行触发事件。

Node.JS事件的绑定与触发示例详解

 传参

const eve = require("events");
//导入模块
var event = new eve.EventEmitter();
//进行实例化声明
event.on('namea', function (a) {
    console.log(`坚毅的${a}同志`);
})
//触发事件冰川入参数
event.emit('namea', '小解');

Node.JS事件的绑定与触发示例详解

 删除事件

removeListener()

 删除指定事件的指定监听器

const eve = require("events");
const { remopythonveListener } = 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的结果。

Node.JS事件的绑定与触发示例详解

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', '小解');

Node.JS事件的绑定与触发示例详解

总结

到此这篇关于Node.JS事件的绑定与触发的文章就介绍到这了,更多相关Node.JS事件绑定与触发内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!