位置: 编程技术 - 正文

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

  • 合同执行过程中应该怎么做
  • 税控盘注意事项
  • 发票丢失的税务处罚
  • 企业进项不足的原因
  • 继续教育报名发什么文件
  • 收到稳岗补贴怎么做会计分录小企业会计准则
  • 已收货款没发货怎么退款
  • 经营成本是营业成本还是营业总成本
  • 增值税发票选择确认平台勾选注意事项
  • 公司分红是按股权比例分配吗
  • 合并报表的抵消分录要做账吗
  • 客户预付货款会计分录
  • 进出口贸易中押金怎么算
  • 小规模纳税人每月15万免税
  • 重置申报清册是什么意思
  • 税前可以扣除的管理费用计算公式
  • 贷款减值损失的计提规则
  • 债权投资属于其他非流动金融资产嘛
  • 企业不征税收入用于支出所形成的固定资产
  • 支付保洁费用
  • 认缴实收资本印花税什么时候交
  • 重庆增值税税率调整
  • 投资款需要缴纳增值税吗
  • 在国外餐厅吃饭服务费和税费
  • 增值税小规模纳税人优惠政策
  • 个人从价计征房产税
  • 苹果14promax电池掉电很快
  • 一年内的待摊费用可以一次性进入成本吗
  • 企业办理银行结汇流程
  • 进口商品增值税可以抵扣吗
  • wordpress自定义文章类型
  • 通往萨卡洛布拉的火车
  • php 图片上传
  • batset命令
  • android常用的集成开发工具有
  • 什么情况下可以赔偿n+1
  • PHP模拟http请求的方法详解
  • php for break
  • apache trace
  • 航天金税税控盘运行环境
  • php接口怎么调用
  • 职工短期薪酬包括哪些
  • sql server 2014删除
  • 劳保用品费用计入什么科目
  • 公司减免的社保退给个人吗
  • 损益类科目有哪些借贷方向
  • 建安企业用什么会计制度
  • 应收账款的明细科目一般按照什么设置
  • 建筑企业收挂靠公司的管理费如何做账?
  • 应收票据和应付票据的区别
  • 一次性开票分期确认收入已什么做原始凭证
  • 装修费用摊销是指什么
  • 如何删除多余的空白表格
  • 目前默认系统%1
  • Win10 Mobile 10549中Cortana电池消耗很大该怎么办?
  • winxp怎么装系统
  • xp系统经常未响应怎么办
  • linux/unix
  • win10的svchost干什么的
  • u盘启动安装xp系统教程
  • 苹果MAC电脑怎么玩圣安地列斯
  • 1.cpp执行的是什么文件
  • win8笔记本电脑投屏方法
  • win7系统出现蓝屏
  • ps是什么文件
  • 工商网银登陆
  • win7 32位无线网卡驱动
  • 简单射击原理
  • Android开发简单购物界面
  • js类的实现
  • js的事件绑定
  • android事件分发流程图
  • 分析天平
  • jquery防止重复提交
  • Python装饰器入门学习教程(九步学习)
  • 屏幕模式自适应模式
  • 基于JAVASCRIPT实现的可视化工具是
  • 开发商卖商铺需要哪些资质条件?
  • 商标转让需要原件吗
  • 发票验旧后还能开票吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设