【发布时间】:2017-10-05 02:15:25
【问题描述】:
在阅读 https://nodejs.org/api/events.html 的 NodeJS 文档时,我对 this 在事件侦听器中处理此问题的区域有点困惑:
“可以将 ES6 箭头函数用作侦听器,但是,这样做时,this 关键字将不再引用 EventEmitter 实例:”
const myEmitter = new MyEmitter();
myEmitter.on('event', (a, b) => {
console.log(a, b, this);
// Prints: a b {}
});
myEmitter.emit('event', 'a', 'b');
this 代表的对象是空的。请问这个箭头函数中的引用是什么?
【问题讨论】:
-
this绑定已在箭头函数中删除。它应该更容易放松 oop 风格。 -
箭头函数与封闭范围共享相同的上下文。在案例中使用适当的功能。
标签: javascript node.js