Node.js 什么是EventEmitter
EventEmitter是Node.js中的一个类,负责处理使用Node.js中的“events”模块创建的事件。事件是在执行一组操作时创建的,用于进行自定义操作。EventEmitter可以返回两个属性,即newListener,用于创建新的事件监听器,以及removeListener,用于删除现有的事件监听器。当调用这两个属性执行操作时,它们会发出一个事件。
为了在EventEmitter上执行操作,我们需要使用“events”模块创建一个引用,然后初始化一个EventEmitter实例,以便进一步使用它。
语法:
创建一个使用 addListener 的监听事件: 在发出事件之前,我们必须创建一个监听器来监听被发出的回调,然后监听器会继续执行进一步的操作,以便符合事件的要求。我们可以借助 EventEmitter 的 addListener 属性来创建事件监听器。addListener 将事件添加到数组的末尾,因此我们可以多次调用它以调用事件的多个实例,这非常有用,因为我们不需要多次编写事件。
语法:
发射事件: 在node.js中,每个事件都是一个命名事件,我们可以使用emit方法触发事件,并且可以传递任意参数来监听事件。
语法:
示例: 使用 addListener 方法创建 EventEmitter 并添加事件的代码。
输出:
移除一个事件的实例: 我们可以使用两种方法来移除一个事件: removeListener 如果我们想要从事件中移除特定的监听器,或者 removeAllListeners 如果我们想要从事件中移除所有监听器的实例。
语法:
示例: 移除事件监听器的代码。
输出:
正如你在上述输出中能够看到的,事件被触发了两次,但输出只出现了一次,因为我们删除了事件监听器,所以第二次触发事件时没有监听器存在。