apply()方法不适用于Node的eventemitter的emit
函数。
我执行这两个陈述:
this._baseEmitter.emit('activity', {test: 'zever1'});
this._baseEmitter.emit.apply(this, ['activity', {test: 'zever2'}]);
第一个1运行良好,事件由我的听众捕获。
然而,第二个绝对没有。
有谁知道为什么? emit()函数可能缺少apply方法吗? 如果是这样,我会认为我会收到一些错误消息,但事实并非如此。
答案 0 :(得分:16)
第一个参数不应该是this._baseEmitter吗?
this._baseEmitter.emit.apply(this._baseEmitter, ['activity', {test: 'zever2'}]);