首页 > 编程语言 >【Node.JS】事件的绑定与触发

【Node.JS】事件的绑定与触发

时间:2022-10-29 16:37:27浏览次数:58  
标签:Node console log namea 绑定 eve JS 事件 event


目录

​​简介​​

​​绑定事件​​

​​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】事件的绑定与触发_javascript

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

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】事件的绑定与触发_实例化_02

 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】事件的绑定与触发_监听事件_03

监听事件emit()

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

通过emit来进行触发事件。

【Node.JS】事件的绑定与触发_前端_04

 传参

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

【Node.JS】事件的绑定与触发_javascript_05

 删除事件

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的结果。

【Node.JS】事件的绑定与触发_前端_06

 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】事件的绑定与触发_实例化_07

【Node.JS】事件的绑定与触发_监听事件_08

标签:Node,console,log,namea,绑定,eve,JS,事件,event
From: https://blog.51cto.com/u_15830125/5806236

相关文章

  • 【Node.JS】写入文件内容
    fs.writeFile()语法格式fs.writeFile(filepath,data[,options],callback)参数一:必选参数,为被写入文件的路径,字符串格式参数二:必选参数,表示写入的内容。参数三:可选参数,表示以什......
  • js-基础排序实现(冒泡排序,快速排序,选择排序,插入排序,希尔排序,归并排序,堆排序)
    冒泡排序:两个指针循环,遇到不合适就交换,直到将符合要求的浮到边界functionbubbleSort(list){ for(leti=0;i<list.length;i++){ for(letj=0;j<list.length-i-1;j++)......
  • 【JS ES6】use strict 严格模式
    目录​​什么是严格模式​​​​启用严格模式​​​​严格模式中的变化​​由于JavaScript语法不够严谨,一直被人们所诟病,例如在使用一个变量时,可以不使用var关键字来提......
  • [JS ES6]传值和传址
     目录​​传值​​​​什么是传值​​​​ 例 ​​​​传址​​​​什么是传址​​​​例 ​​传值什么是传值leta=1;letb=a;console.log(a,b);//11 传值是......
  • js-合法URL
    常用正则符号. 查找单个字符,除了换行和行结束符\w 查找单词字符\W 查找非单词字符\d 查找数字\D 查找非数字字符\s 查找空白字符\S 查找非空白字符\b 匹配单词边......
  • jsp 中 out 输出流 和 response.getwriter()输出流
    1)jsp中out和response的writer的区别演示<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtmlPUBLIC"-//W3C/......
  • jsp 九大内置对象和四大域对象
    jsp九大内置对象我们打开翻译后的java文件。查看_jspService方法。 request对象请求对象,可以获取请求信息response对象响应对象。可以设置响应信息pageContext对......
  • jsp 的语法(重点掌握)
    jsp文件头部声明介绍(page指令介绍)<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%> 这是jsp文件的头声明。表示这是jsp页......
  • jsp 的运行原理
    jsp的本质,其实是一个Servlet程序。首先我们去找到我们Tomcat的目录下的work\Catalina\localhost目录。当我们发布day09工程。并启动Tomcat服务器后。我们发现在......
  • jsp 技术
    为什么要学习jsp技术什么是jsp?JSP(全称JavaServerPages)是由Sun公司专门为了解决动态生成HTML文档的技术。 Servlet程序输出html页面。在学习jsp技术之前,如......