微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – 如何在NodeJS EventEmitter中删除所有事件侦听器?

如何在NodeJS中删除所有事件侦听器?

解决方法

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

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

emitter.removeAllListeners();

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐