jfr*_*d00 12

也许最简单的方法就是用一个没有注册侦听器的新对象替换eventEmitter对象.

如果您确实需要清除所有已注册的事件,因为其他代码具有对当前发射器对象的引用,那么您可以使用公共API执行此操作,如下所示:

emitter.removeAllListeners();
Run Code Online (Sandbox Code Playgroud)

这里有node.js doc中描述的内容.该函数可以传递事件名称以删除仅针对该事件的所有侦听器,或者,如果未传递任何事件名称,则会删除所有事件的所有侦听器.

仅供参考,您还可以获取具有该emitter.eventNames()方法的任何已注册事件处理程序的所有事件名称,然后您可以删除任何给定事件名称的所有侦听器emitter.removeAllListeners(eventName).因此,您还可以遍历所有事件名称并删除所有任何想要的侦听器.