往期文章

【Node.JS】写入文件内容

【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);

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

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】事件的绑定与触发相关推荐

  1. Linux事件循环阻塞,深入浅析Node.js 事件循环、定时器和process.nextTick()

    什么是事件循环 尽管JavaScript是单线程的,但通过尽可能将操作放到系统内核执行,事件循环允许Node.js执行非阻塞I/O操作. 由于现代大多数内核都是多线程的,因此它们可以处理在后台执行的多 ...

  2. 如何构建自定义 Node.js 事件发射器

    事件是具有软件或硬件意义的动作. 它们是由于用户活动(例如鼠标单击或击键)或直接来自系统(例如错误或通知)而发出的. JavaScript 语言使我们能够通过在事件处理程序中运行代码来响应事件. 由于 ...

  3. node.js 事件循环

    node.js是单线程的应用程序,但是他可能通过event和callback来支持并发.所有的node.js都是单线程的,也是异步的,他们使用调用异步函数来维持高并发.Node使用观察者模式.Node ...

  4. 八七、Node.js事件循环与多进程

    nodejs事件循环与多进程 why 事件循环对于深入理解nodejs异步至关重要 fs, net,http,events 事件循环是企业面试中的最高频考题之一 能驾驭nodejs多进程是一名资深前端 ...

  5. js 事件(绑定、解绑、三个阶段、相关方法)

    事件绑定与解绑: DOM0级事件(这类事件可以使用 return false来阻止事件往下执行,包含默认事件) 绑定: html内<input οnclick=''> js中el.οncl ...

  6. js事件重复绑定问题

    先看一个简单的例子吧(为了方便,例子使用jQuery写的): <!doctype html> <html lang="en"> <head>&l ...

  7. JS事件的绑定和解绑

    /* 事件三要素 1.事件源:在谁的身上绑定事件 2.事件类型:什么事件 3.事件处理函数:当行为发生的时候,执行那一个函数 ==>div.οnclick=function(){} ==> ...

  8. Node.js中事件的循环

    Node.js 事件循环 Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高. Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用, ...

  9. 在Node.js中使用事件,监听器,定时器和回调

    Node.js通过其强大的事件驱动模型提供了可扩展性和性能,本篇文章的重点是理解该模型,以及它是如何不同于大部分Web服务器采用的传统线程模型的.了解事件模型至关重要,因为它可能迫使你改变设计应用程序 ...

最新文章

  1. [动态dp]线段树维护转移矩阵
  2. 运维Linux redis,系统运维|如何在 CentOS 7 上安装 Redis 服务器
  3. 服务器供电系统图,【科·堂】图解5G和数据中心电源制式
  4. spring logback mysql_logback 日志输出格式
  5. Uboot启动全过程
  6. Android入门(15)| 网络
  7. 小米CC9 Pro同款一亿像素摄像头有望被三星Galaxy S11采用
  8. 刚装的系统没有sql server(mssqlserver)_数据库与SQL学习
  9. 美国数据不佳美元仍跳升,只因欧元区问题更多
  10. javascript编写acm算法题
  11. javascript综合
  12. 使用kvm部署虚拟化服务器,KVM虚拟化(KVM的部署及使用)
  13. 电磁阀peakhold驱动
  14. 【哈密顿图】算法分析
  15. HTML5+CSS3制作透视正方体
  16. Silverlight游戏设计(Game Design):(十三)帝国时代II (Demo) 之 “战争艺术”②
  17. (史上最全总结)总体方差,样本方差,标准差,抽样方差,标准误差,均方误差,协方差 ...........
  18. iOS Keychain和keychain share
  19. PHP调用IMAP协议读取邮件类库
  20. ASp.net动态加载js和css文件

热门文章

  1. 会声会影X8 一打开就提示Corel VideoStudio 已停止工作的解决办法
  2. 谷歌浏览器所有版本下载_我下载了Google了解我的所有信息
  3. android图片晃动动画,剖析Android动画(图片闪烁、左右摇摆、上下晃动等效果)
  4. 阿里平头哥发布RISC-V高能效处理器玄铁C908,打造端云一体生态
  5. 矩阵范数、矩阵序列相关的题
  6. Tomcat源码笔记(八)Context
  7. 京东新品情报局剧透OPPO K10系列 或联动国漫IP带来惊喜?
  8. python将字符串转换成list或dict对象的方法
  9. 信号各种变换 python实现 DFT,STFT,CWT,DWT
  10. 5G时代到来,为什么运营商都在全力布局微基站?