0

EventEmitterのソースを読んでみました。aliasClosure()関数で定義されているクロージャにジャンプしたいalias(name)

function alias(name) {
    return function aliasClosure() {
        return this[name].apply(this, arguments);
    };
}

また:

proto.on = alias('addListener');

私は小さなスクリプトを書きます

var ee = new EventEmitter();
function l() {
  console.log('Test');
}

ee.on('foo', l);

ee.emitEvent('foo');

行にブレークポイントを設定しますee.on('foo', l);FireBug で F11 キーを押した後、ジャンプを待っていreturn this[name].apply(this, arguments);ますが、コンソールにエラー メッセージが表示されます。

デバッガーの再開: デバッグ ループ中のエラー: TypeError: firstViewRangeElement が null です

return this[name].apply(this, arguments); デバッガーにブレークポイントを設定すると、このブレークポイントはスキップされます (停止しないでください)。私が間違っていることは何ですか?

4

0 に答える 0