位置: 编程技术 - 正文

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断点调试)

  • 回退税款所属期后怎么返回
  • 计算增值税时要包括关税吗
  • 应交税费课程
  • 关税的征收对象是贸易性商品,不包括
  • 以经营房产投资合营收固定收益如何开发票?
  • 税控维护费抵减增值税报表怎么填
  • 企业注销未抵扣完的进项税
  • 房地产开发企业预缴增值税
  • 银行现金支票怎么填
  • 股权转让溢价部分怎么做分录
  • 财付通-备付金账户
  • 报销凭证找不到了怎么办
  • 网银年费属于财务费用哪一项
  • 收到发票怎么记账
  • 挂靠费如何纳税?
  • 应税行为扣除额计算怎么填
  • 人工成本如何分摊到服务成本
  • 小规模纳税人增值税减免
  • 产品研发的规则
  • 个人账户付款到对公账户
  • 垃圾清运属于什么大类
  • 药店 医保收入占比
  • mac辅助功能键盘
  • 只交社保不发工资可以吗
  • 跨年的发票冲红
  • 苹果官网
  • 材料采购计入资产负债表哪里
  • 银行票据贴现业务发展中遇到的困难
  • 企业收到对外投资收益交所得税吗
  • 黑尾鮰鱼
  • vue 移动端
  • 税法规定个人收入超过3500元的超过部分应
  • 融资租入固定资产是什么意思
  • 钢管扣件租赁公司社会实践报告怎么写范文
  • 原材料计入什么凭证
  • 本年利润的会计科目
  • 运输费计税吗
  • php的项目
  • vue父子组件传值方法
  • flask实现登录
  • 史上伟大电影
  • 工资月末结转
  • 因税收取得的票据是什么
  • 新公司建账会计科目
  • PYTHON中使用什么符号表示单行注释
  • mongodb与mysql相比的优缺点
  • 长期股权投资减值准备是什么科目
  • 土地使用权使用寿命不确定要摊销吗
  • 子公司借钱给母公司,未收取利息,要纳税吗
  • 母公司持有子公司70%股权
  • 坏账准备需要计提增值税吗
  • 原材料计入什么摘要
  • 开公司的车出差违章算谁的
  • 发票入账抵扣什么意思
  • 开出银行汇票支付货款
  • 财务费用利息属于什么科目
  • 预付电费收到发票报销单怎么写
  • 收到货款会计分录怎么写
  • 担保贷款借款人死亡
  • 出纳可以做库管吗
  • sql两个数据怎么合并到一起
  • innodb_index_stats导入备份数据时报错表主键冲突的解决方法
  • macossierra安装发生错误
  • centos7 syslog
  • Win7系统打印机共享无法保存打印机设置0x000006d9
  • 计算机的硬盘
  • xpspeak导入数据总是error reading
  • win10预览版21390
  • fstab文件详解修改
  • 信佛是信教吗
  • redhat下载地址
  • cocos2dx schedule
  • u3d手游开发
  • android反编译smali
  • javascript原型链详解
  • python3.8.3怎么用
  • django命令行
  • jquery知识点总结
  • 出口退税企业的账务处理
  • 车船税的缴纳证明是什么意思?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设