在 Node.js 中,Event是非常核心的模块,大部分的核心模块基本上都有用到或者继承了该模块。

  Event模块和我们之前在Javascript中学习的EventTarget接口很类似。对于该模块我们能做的不仅仅是简单的使用还可以在该模块的基础上做出扩展,你想想JS中的onclick、onmousemove

  不罗嗦,直接上代码!

  因为事件模块属于比较抽象的东西,所以不太适合用大篇幅的语言来描述它,所以我决定直接上代码,先实现功能看效果再说。下面就一起来体验下这个模块的功能吧。

  对自定义类进行扩展

  在前端我们可以对一个元素进行事件的监听,例如

  这种做法实际上就是在对待页面中的DOM对象添加事件监听,在Node.js中是无法直接为一个对象添加事件监听的,因为我们自定义的类或者对象都是没有实现或继承 Events 模块的。

  想要使用 Events 模块就需要先导入该模块。

  接下来就是具体代码的实现:

  以上的代码就是为了扩展咱们自定义类的。

  在以上代码中我们使用了event模块中的两个方法:on(),emit()。 这两个方法分别是为了注册事件与触发事件的。

  在event模块中比较有用的方法远远不止这两个,下面列出几个较为常用的方法。

  on():注册事件,添加被监听的事件名称到监听器数组的末尾。

  addListener():同上。

  off():移除事件,从监听器数组移除被监听的事件名称。

  removeListener():同上。

  eventNames():返回已注册监听器的事件名数组。 数组中的值为字符串或 Symbol。

  Tips:

  因为事件的概念较为抽象,所以我们大部开发者并不是很喜欢使用Events模块实现监听,更多的时候我们可能更加喜欢以回调函数的方式的完成对某个函数或者方法的监听。

  所以我们对 Events 模块的学习其实并不仅仅是为了将来能在开发中为自定义类添加事件,更多的其实为了对 Node.js 的知识点整体架构有一定的了解,了解知识点的来龙去脉。

  学习了 Events 之后我们也就可以明白为什么之后学习的很多的核心模块为什么都会有 on() 和 off() 方法,因为它们都是继承了 Events 模块的。

  希望本篇文章能够对想要零基础学习java知识的你有所帮助。

  本文来自千锋教育,转载请注明出处。

©著作权归作者所有:来自51CTO博客作者戏精程序媛的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 苹果Mac不能复制拷贝文件到U盘如何解决?
  2. 什么是JSTL标签?常用的标签库有哪些?
  3. K3cloud《资产管理》模块-资产清单明细报表
  4. 数据科学家年薪12万美元算高吗?我爬取近6年三千份数据后发现了这
  5. “高级工程师”没用!你应该成为一名 “成熟的工程师”
  6. 最强深度学习优化器Ranger开源:RAdam+LookAhead强强结合,性能更优
  7. 程序员最大的遗憾:在大学时忽略了数学
  8. JavaScript面向对象编程理解
  9. 华为麒麟990 5G芯片重磅发布!全球首个旗舰版5G SoC芯片,支持双组网

随机推荐

  1. 为什么这个查询需要很长时间才能执行
  2. mysql进阶(十一)外键在数据库中的作用
  3. 如何启用对MySQL服务器的外部访问?
  4. php 连接数据库 Warning: mysqli_connect
  5. XAMPP附带的mysql如何修改密码
  6. MySQL 转换函数与运算符
  7. MySQL数据库相关开发入门
  8. php&input复选框存储每个循环的值
  9. MySQL使用二进制日志来恢复数据
  10. windows下安装mysql5.6解压版,32位和64位