手动实现一个eventEmitter
观察者模式在前端开发中非常常用,我们经常用的事件就是观察者模式的一种体现。它对我们解耦模块、开发基于消息的业务起着非常重要的作用。Node.js 原生自带 EventEmitter 模块,可见它的重要性。 作为在工作中经常遇到和面试的经典题目当然要琢磨透彻,下面一步步手动写一个eventEmitter 首先,我们要知道EE的api是什么样的 node的EventEmitter包含了很多常用的API,我们一一来介绍几个实用的API. 方法名 方法描述 addListener(event, listener) 为指定事件添加一个监听器到监听器数组的尾部。 prependListener(event,listener) 与addListener相对,为指定事件添加一个监听器到监听器数组的头部。 on(event, listener) 其实就是addListener的别名 once(event, listener) 为指定事件注册一个单次监听器,即 监听器最多只会触发一次,触发后立刻解除该监听器。 removeListener(event, listener) 移除指定事件的某个监听器,监听器必须是该事件已经注册过的监听器 off(event, listener) removeListener的别名 removeAllListeners([event]) 移除所有事件的所有监听器,