求教为何EventEmitter的默认移除listener的事件无效
发布于 10 年前 作者 starwen 4010 次浏览 最后一次编辑是 8 年前

var EventEmitter = require(“events”).EventEmitter; var ee = new EventEmitter(); ee.on(“removeListener”, function (evtName) { console.log(“Removed Listener: " + evtName);}); 以上是EventEmitter的默认事件"removeListener”。但是我执行任何移除Listener的操作都不会触发上面的事件,是我哪里搞错了吗?求指教

以下是移除listener代码: function foo(){ console.log(“It is a test!”); } ee.on(“test”, foo); ee.removeListener(“test”, foo);

4 回复

你的Node版本是多少的?

估计 是 你得remove事件,在没有监听前,已经被移除了,尝试用 process.nextTick

你说得对,版本有点低,我原本是0.8.x 换成了最新版就好了

被楼上的仁兄发现了我的低级错误,版本太低

回到顶部