Node.js 从箭头函数打印事件对象
如果我想使用回调函数打印Node.js中的事件对象,可以这样做: 例1 但是,如果我尝试使用箭头函数,它将不起作用: 例2Node.js 从箭头函数打印事件对象,node.js,this,arrow-functions,Node.js,This,Arrow Functions,如果我想使用回调函数打印Node.js中的事件对象,可以这样做: 例1 但是,如果我尝试使用箭头函数,它将不起作用: 例2 在示例2中,使用关键字“this”打印事件对象的值需要更改什么?尝试访问“this”的本地值而不是父值。怎么做?这是由于词汇作用域造成的。箭头函数不绑定它们自己的值,它们继承父作用域中的值。是否有可能重复?是否有办法在这种情况下使用箭头函数打印“this”的预期值?文档中有说明:@lawrencerone我读过文档。它讨论了这个问题,但没有解释如何解决它。这是由于词汇范围的
在示例2中,使用关键字“this”打印事件对象的值需要更改什么?尝试访问“this”的本地值而不是父值。怎么做?这是由于词汇作用域造成的。箭头函数不绑定它们自己的值,它们继承父作用域中的值。是否有可能重复?是否有办法在这种情况下使用箭头函数打印“this”的预期值?文档中有说明:@lawrencerone我读过文档。它讨论了这个问题,但没有解释如何解决它。这是由于词汇范围的限制。箭头函数不绑定它们自己的值,它们继承父作用域中的值。是否有可能重复?是否有办法在这种情况下使用箭头函数打印“this”的预期值?文档中有说明:@lawrencerone我读过文档。它谈论这个问题,但没有解释如何解决它。
const events = require( 'events' );
var eventEmitter = new events.EventEmitter();
eventEmitter.on( 'customEventNameGoesHere', function() {
console.log( this );
} );
eventEmitter.emit( 'customEventNameGoesHere' );
/* Sample output:
EventEmitter {
_events:
[Object: null prototype] { customEventNameGoesHere: [Function] },
_eventsCount: 1,
_maxListeners: undefined }
*/
const events = require( 'events' );
var eventEmitter = new events.EventEmitter();
eventEmitter.on( 'customEventNameGoesHere', () => { console.log( this ); } );
eventEmitter.emit( 'customEventNameGoesHere' );
/* Sample output:
{}
*/