求教为何EventEmitter的默认移除listener的事件无效
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 换成了最新版就好了
被楼上的仁兄发现了我的低级错误,版本太低