Nehmen Sie das folgende Beispiel;Verschachtelte Referenz auf `this` in ES6-Klassen
class MyClass {
run() {
this.hello = 1;
co(function*() {
this.hello // this is now 'undefined'
})
}
}
new MyClass().run()
In ES5 ich normalerweise this
auf eine andere Variable zu Beginn der Funktion zuweisen würde, wie var cls = this
, aber ich hätte gehofft, dass ES6/ES7 dieses Problem, indem nun gelöst würde.
Gibt es einen besseren Weg, dies zu tun?
Das 'this' Problem durch den Pfeil Funktionen gelöst wird, mit der Ausnahme, dass der Pfeil Funktion Syntax nicht unterstützt Generator. Also entweder 'bind' verwenden oder' const' (statt var) verwenden. – Sheepy