3

apply() 方法不适用于 Node 的 eventemitteremit函数。

我执行这两条语句:

this._baseEmitter.emit('activity', {test: 'zever1'});

this._baseEmitter.emit.apply(this, ['activity', {test: 'zever2'}]);

第一个运行良好,事件被我的听众捕获。

然而,第二个完全没有做任何事情。

有谁知道为什么?emit() 函数是否可能缺少 apply 方法?如果是这样,我想我会收到一些错误消息,但事实并非如此。

4

1 回答 1

16

第一个参数不应该是 this._baseEmitter 吗?

this._baseEmitter.emit.apply(this._baseEmitter, ['activity', {test: 'zever2'}]);
于 2013-01-31T00:15:37.790 回答