Javascript apply()在Node.js eventemitter';s emit()函数
apply()方法不适用于节点的eventemitter的Javascript apply()在Node.js eventemitter';s emit()函数,javascript,node.js,Javascript,Node.js,apply()方法不适用于节点的eventemitter的emit函数 我执行以下两条语句: this._baseEmitter.emit('activity', {test: 'zever1'}); this._baseEmitter.emit.apply(this, ['activity', {test: 'zever2'}]); 第一个1运行正常,事件由我的侦听器捕获 然而,第二种方法完全不起作用 有人知道为什么吗?emit()函数是否缺少apply方法? 如果是这样,我想我会收到一些
emit
函数
我执行以下两条语句:
this._baseEmitter.emit('activity', {test: 'zever1'});
this._baseEmitter.emit.apply(this, ['activity', {test: 'zever2'}]);
第一个1运行正常,事件由我的侦听器捕获
然而,第二种方法完全不起作用
有人知道为什么吗?emit()函数是否缺少apply方法?
如果是这样,我想我会收到一些错误消息,但情况也不是这样。第一个参数不应该是这个吗。\u基极发射极
this._baseEmitter.emit.apply(this._baseEmitter, ['activity', {test: 'zever2'}]);
var emitApply=Function.apply.bind(this.\u baseEmitter.emit,this.\u baseEmitter)
将为您提供一个可以调用的函数,如:emitApply(['activity',{test:'zever2')代码>这假定基极发射器的上下文没有改变。如果是,请将其作为.bind()
的最后一个参数删除,并为每次调用提供它。您应该接受@PascalBelloncle的答案,因为它对您有效。谢谢。正确答案