Chcąc obsłużyć event (prawdopodobnie z EventEmitter
[zewnętrzna biblioteka, nie jestem pewien na 100%]) i przypisując go do zdefiniowanej funkcji tracę kontekst 'this'. Zgaduję, że funkcja jest wywoływana poprzez function.apply
.
Przykład:
class sampleClass {
constructor() {
sampleEventEmitter.on('sample-event', this._handleSampleEvent)
}
_handleSampleEvent() {
//w tym miejscu this nie jest obiektem klasy
}
}
Pytania:
- W jaki sposób "zgrabnie" odwołać się z poziomu zdefiniowanej funkcji obsługującej event do obiektu klasy?
- Czemu użycie funkcji anonimowej zachowuje kontekst (this wskazuje na obiekt klasy)?
Z góry dzięki :)