求教为何EventEmitter的默认移除listener的事件无效
 发布于 11 年前  作者 starwen  4460 次预览  最后一次回复是 11 年前  来自  

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 回复
AdoHe

你的Node版本是多少的?

hexie

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

starwen

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

starwen

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