【发布时间】:2016-07-11 00:40:57
【问题描述】:
我不知道如何更正我的方法的上下文。
我有这门课:
export default class Handler {
constructor() {
// init
}
handleMessage(channel, user, message) {
this.handleDefault(channel, user, message);
}
handleDefault(chanenl, user, message) {
// do stuff
}
}
被这个方法和类调用
export default class Bot {
constructor() {
this.irc = irc // has an event emitter irc.event
this.handler = new Handler();
this.readIRC();
}
readIRC() {
this.irc.event.on('message', this.handler.handleMessage);
}
}
问题在于 handleMessage 中的第一个类,这不再是类而是 eventEmitter,所以我不能调用我的 handleDefault 方法。
如何在 ES6 中正确处理上下文?
【问题讨论】:
-
您似乎在询问
this上下文,而不是 范围。
标签: javascript ecmascript-6 scopes