Node.JS事件的绑定与触发示例详解
简介
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', '小解');
总结
到此这篇关于Node.JS事件的绑定与触发的文章就介绍到这了,更多相关Node.JS事件绑定与触发内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
nvm版本导致npm install报错Unexpected token '.'的解决办法
最近做项目遇到npm install 的问题,下面这篇文章主要给大家介绍了关于nvm版本导致npm install报错Unexpected token '.'的解决办法,文中通过图文介绍的非常详细,需要的朋友可以参考下2022-07-07Node.js项目中调用JavaScript的EJS模板库的方法
这篇文章主要介绍了Node.js项目中调用JavaScript的EJS模板库的方法,通过EJS模板引擎可以制作出维护性良好的HTML代码结构,需要的朋友可以参考下2016-03-03nodejs基于WS模块实现WebSocket聊天功能的方法
这篇文章主要介绍了nodejs基于WS模块实现WebSocket聊天功能的方法,结合实例形式分析了nodejs使用WS模块进行WebSocket通信实现聊天功能的具体操作技巧,需要的朋友可以参考下2018-01-01
最新评论