我正在运行一个有关EventEmitter的示例,突然遇到了与回调函数有关的错误,其中我无法在箭头函数中绑定此关键字。
var EventEmitter = require('events').EventEmitter;
var util = require('util');
var Person = function(name){
this.name = name;
}
util.inherits(Person, EventEmitter);
var ben = new Person("Ben Franklin");
ben.on('speak', (said) => {
console.log(`${this.name} said : ${said}`);
});
ben.emit('speak', "You may delay, but time will not.");
输出-未定义表示您可以延迟,但是时间不会。
如果我这样编写eventListner
ben.on('speak', function(said){
..........
});
然后正常工作。请给我这个问题的解释。
输出-本富兰克林说您可以延迟,但时间不会。