位置: 编程技术 - 正文

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

  • 汇算清缴需要做分录吗
  • 计提环境保护税怎么做分录
  • 个税申报可以去税务局吗
  • 承兑贴现几个点是月息还是年息
  • 财务费用为什么借方红字
  • 冲减上年度收入的会计分录
  • 企业所得税清算报备表清算结束日
  • 收款凭证与收据的效力
  • 向税务局缴纳工伤保险费有发票吗
  • 单位体检如何入账
  • 营改增各项业务销售额按照什么确定
  • 企业职工福利费扣除标准
  • 收取职工房租 算收入吗
  • 水利基金按含税还是不含税申报
  • 小额贷款公司借钱容易吗
  • 在建工程完工,并当日签订出租协议的会计分录
  • 小规模纳税人减征额怎么计算
  • 企业出口产品条件和流程
  • 公司如何为员工缴纳社保
  • 免费样品销售给客户计入什么科目
  • 已抵扣的增值税专票如何冲红
  • 手动滑屏怎么操作
  • macbook截图快捷键没反应
  • 营改增后销售不动产税率变化时间
  • 超市库存商可以分为几大类
  • 退税需要怎么操作
  • phpstudy如何查看错误日志
  • mac系统怎么清除数据
  • 企业与政府所签的合同
  • 特殊性税务处理弥补亏损限额
  • 野生动植物种源包括
  • 视频监控接入方式有哪几种
  • 微信自定义菜单在哪里
  • 删除组合命令
  • 新的企业所得税
  • phpcms开发手册
  • mongodb 全文索引
  • 资产减值损失属于什么科目
  • 存货成本核算方法的多久变更
  • sql2008怎么查询
  • 小企业销售收入分录
  • linux中备份
  • 业务招待费的所得税扣除
  • 内账会计有法律风险吗
  • 预付款为什么不能抵消工程款
  • 以前年度损益调整
  • 服装厂做的都是什么产品
  • 跨年的费用怎么调整
  • 行政事业单位会计风险来源于日常的会计活动
  • 银行回单和发票哪个粘贴到上面
  • 其他应付款的核算范围包括应付短期租赁
  • 日记账的建账工作
  • mysql两种安装方式
  • innodb_flush_method取值方法(实例讲解)
  • win10的win+tab
  • fedora gnome
  • mac的itunes怎么用
  • win7winxp双系统怎么装
  • win7关机太慢怎么办
  • windows7禁用wifi怎么办
  • 已停止工作win7
  • win10怎么添加游戏手柄
  • 升级win10后c盘满了
  • javascript数组的方法
  • window.close(); 关闭浏览器窗口js代码的总结介绍
  • dos命令中运行文件的命令
  • Python分析学校四六级过关情况
  • php和js的区别和联系
  • 滚动的纸箱
  • 用jquery实现局部刷新
  • node.js mac
  • python 父类方法
  • python3.9.1怎么用
  • jqgrid tree
  • jquery设置input的value
  • 选择排序图解过程
  • js滚动条滚动触发事件
  • 广东税务总局发票怎么开
  • 蓬溪房价2020最新消息
  • 资源税是什么?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设