采取以下示例;
class MyClass {
run() {
this.hello = 1;
co(function*() {
this.hello // this is now 'undefined'
})
}
}
new MyClass().run()
在ES5中,我通常会将this
分配给函数开头的另一个变量,例如var cls = this
,但我希望ES6 / ES7现在可以解决这个问题。 / p>
有更好的方法吗?
答案 0 :(得分:2)
您可以使用bind
:
class MyClass {
run() {
this.hello = 1;
co(function*() {
this.hello // 1
}.bind(this));
}
}
new MyClass().run()