位置: 编程技术 - 正文

node.js学习之事件模块Events的使用示例(node.js实战)

编辑:rootadmin

推荐整理分享node.js学习之事件模块Events的使用示例(node.js实战),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js入门教程,node.js实战,node.js快速入门,node.js教程详细,nodejs实战教程,node.js快速入门,node.js入门教程,node-js,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

本文主要给大家介绍了关于node.js事件模块Events使用的一些示例,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

环境:Node v8.2.1; Npm v5.3.0; OS Windows

1、 Node事件介绍

Node大多数核心 API 都采用惯用的异步事件驱动架构,其中某些类型的对象(触发器)会周期性地触发命名事件来调用函数对象(监听器)。

所有能触发事件的对象都是 EventEmitter 类的实例。 这些对象开放了一个 eventEmitter.on() 函数,允许将一个或多个函数绑定到会被对象触发的命名事件上。 事件名称通常是驼峰式的字符串,但也可以使用任何有效的 JavaScript 属性名。

当 EventEmitter 对象触发一个事件时,所有绑定在该事件上的函数都被同步地调用。 监听器的返回值会被丢弃。

2、events 模块API介绍

3、 一些例子

下面是一些简单的例子,对应上面的API的一个代码实现

3.1 绑定和触发事件

3.2 为事件传递参数

3.3 this 的问题

node.js学习之事件模块Events的使用示例(node.js实战)

当一个普通的监听器函数被 EventEmitter 调用时,标准的 this 关键词会被设置指向监听器所附加的 EventEmitter。

也可以使用 ES6 的箭头函数作为监听器。但是这样 this 关键词就不再指向 EventEmitter 实例:

3.4 异步执行

EventListener 会按照监听器注册的顺序同步地调用所有监听器,监听器函数可以使用 setImmediate() 或 process.nextTick() 方法切换到异步操作模式:

3.5 无限次触发和一次触发

事件默认是可以无限次数的触发的,只要触发一次,对应的监听函数就执行一次;有时候我们希望只执行一次监听函数,可以使用【once】对事件进行绑定

多次触发:

一次触发:

3.6 错误事件

当 EventEmitter 实例中发生错误时,会触发一个 ‘error' 事件,如果 EventEmitter 没有为 ‘error' 事件注册至少一个监听器,则当 ‘error' 事件触发时,会抛出错误、打印堆栈跟踪、且退出 Node.js 进程。

为了防止 Node.js 进程崩溃,可以在 process 对象的 uncaughtException 事件上注册监听器

上面这样的方式并不是最佳实践,最好是为【error】注册监听函数

3.7 获取和修改最大事件监听数量

Node默认一个事件的监听数量为个,超过十个将会发出警告

改变指定的 EventEmitter 实例的监听器限制

3.8 newListener事件

EventEmitter 实例会在一个监听器被添加到其内部监听器数组【之前】触发自身的 ‘newListener' 事件

总结

标签: node.js实战

本文链接地址:https://www.jiuchutong.com/biancheng/379536.html 转载请保留说明!

上一篇:详解Node全局变量global模块(node的全局变量有哪些)

下一篇:node.js学习之断言assert的使用示例(node断点调试)

  • 小微企业减半征收印花税代码
  • 增值税一般纳税人税率
  • 股票权类型
  • 一般纳税人的做账流程
  • 普惠性幼儿园是非盈利幼儿园吗
  • 合并报表盈余公积等于母公司盈余公积
  • 机票附加的保险有必要买吗
  • 注销股本对所有股票影响
  • 个月所得税税率
  • 主营业务收入属于资产
  • 核定征收的小规模企业所得税B表收入总额含税吗
  • 进口货物的应纳增值税
  • 网上申报增值税怎么操作
  • 所得税滞纳金怎么做账
  • 按应收账款余额计提坏账准备的会计分录
  • 净资产的核算方法
  • 全额抵扣的发票怎样入账
  • 预付卡充值可以退吗
  • 企业所得税收入大于增值税收入的原因
  • 一般纳税人收小规模普票可以算成本吗
  • 化妆品消费税是从价还是从量
  • 关于保安员服务内容主要包括
  • 增值税税率
  • 资产负债表属于会计报表吗
  • 洒水车属于免税车辆吗?
  • 红字发票如果开多了下个月能进行抵扣么?
  • 从农民手里收的钱叫什么
  • 不动产融资租赁服务属于租赁服务吗
  • 固定资产后续支出是指固定资产在使用过程中发生的
  • 去年的进项票今年可以抵吗
  • 企业的银行利息收入要交企业所得税吗
  • win10专业版下载教程
  • 贷款房屋评估费怎么收
  • 发票作废的政策规定
  • 农产品增值税进项税额
  • 固定资产未计提完毕怎么报废
  • 固定资产毁损应该填制什么凭证
  • 存货包括哪些会计账户
  • 向农户收购农产品怎么打款
  • arcore如何使用
  • php pdo和mysqli
  • 出口的发票怎么开视频
  • php和mysql关系
  • vue 状态管理
  • php上传视频到服务器
  • 支付宝商户服务电话
  • 公对私转账没有到账怎么查询
  • 公司出租房屋如何开票
  • 公司购买法拍房需要交什么费
  • 收货和入库的区别
  • 营运资产周转次数计算公式是什么意思
  • 企业年度所得税怎么算
  • 电费发票未到怎么入账
  • 打样费入什么科目
  • 人力资源外包服务费计入什么科目
  • 支付系统安装
  • 劳务派遣员工工会福利谁发放
  • 个税和社保有什么区别
  • 中国的法律依据是什么
  • 审计备案表
  • 中小型企业产品定位方案
  • 医疗机构药库设置标准
  • mysql批量执行sql文件工具
  • Vista 优化预读文件设置,提速开关机速度
  • 误删了分区怎么恢复
  • 华硕安装win7系统
  • windows xp.exe
  • linux磁盘分区表
  • 移动宽带解绑怎么办理
  • opengl cullface
  • OpenGl的glMatrixMode()函数理解
  • python网页验证码
  • 聊天界面的新消息通知设置 找不到
  • python系统框架
  • bootstrap轮播效果
  • 内蒙古电子税务局开票流程
  • 慈善组织可能会出现哪些问题
  • 昆山华润燃气多少钱一方
  • 电子税务局申领的发票怎么读入
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设