3

apply() メソッドは Node の eventemitter の関数では機能しませんemit

次の 2 つのステートメントを実行します。

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

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

最初の 1 つは正常に実行され、イベントはリスナーによってキャプチャされます。

ただし、2番目のものはまったく何もしません。

誰かが理由を知っていますか?emit() 関数に apply メソッドが欠落している可能性がありますか? もしそうなら、私はいくつかのエラーメッセージを受け取ると思いますが、そうではありません.

4

1 に答える 1

16

代わりに、最初のパラメーターをthis._baseEmitterにするべきではありませんか?

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