Если я хочу напечатать объект события в Node.js, используя функцию обратного вызова, это работает:
Пример 1
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 }
*/
Однако, если я пытаюсь использовать функцию стрелки,это не работает:
Пример 2
const events = require( 'events' );
var eventEmitter = new events.EventEmitter();
eventEmitter.on( 'customEventNameGoesHere', () => { console.log( this ); } );
eventEmitter.emit( 'customEventNameGoesHere' );
/* Sample output:
{}
*/
Что мне нужно изменить в Примере 2, чтобы напечатать значение объекта события, используя ключевое слово "this"?Попытка получить доступ к локальному значению «this» вместо родительского значения.Как?