轻松实现一个 EventEmitter
24-05-24
slbcun
883℃
0
events 模块属于 Node.js 服务端的知识,但是由于大多数 Node.js 核心 API 构建用的是异步事件驱动架构,因此这里单独加了一讲来带你学习这部分内容。我希望通过这一讲的学习,你能够自己实现一个EventEmitter。
那么,在课程开始前请你先思考几个问题:
EventEmitter 采用什么样的设计模式?
EventEmitter 常用的API 是怎样实现的?
Events 基本介绍
你或多或少会了解一些 Node.js 相关的知识,应该知道Node.js 里面有很多模块,其中 events 就是比较重要的一个模块。
Node.js的events 模块对外提供了一个 EventEmitter 对象,用于对 Node.js 中的事件进行统一管理。因为 Node.js 采用了事件驱动机制,而 EventEmitter 就是 Node.js 实现事件驱动的基础。在 EventEmitter 的基础上,Node.js 中几乎所有的模块都继承了这个类,以实现异步事件驱动架构。
为了让你对此有一个大概的了解,我们先来看下 EventEmitter的简单使用情况,代码如下。