Ich habe mehrere Fragen über die Verwendung von "this" in Klassen und Funktionen gesehen, aber ich glaube nicht, dass ich gesehen habe, wonach ich suche besonders.Third-Party-Bibliothek ist bindende Rückrufe, aber ich muss auf Klasseneigenschaften zugreifen
Meine Situation ist:
Ich bin eine Funktion von einem Drittanbieter-Bibliothek in einer Klassenmethode aufrufen. Die Bibliotheksfunktion von Drittanbietern ruft jedoch callback.bind (this) auf, und ich muss Zugriff auf den Kontext haben, der es bindet.
Aber ich möchte auch auf Klasseneigenschaften zugreifen können. Ist das möglich? Wenn nicht, was ist eine mögliche Problemumgehung? Code Umriss sieht ungefähr so aus:
class MyClass {
myProperty = 'something';
myMethod() {
console.log(this.myProperty);
}
otherMethod() {
thirdPartyLibrary.functionRequiringCallback(function() {
this.MyMethod(); //undefined
this.requiredThirdPartyFunction(); //"this" refers to thirdPartyLibrary
});
}
}
Ich könnte sicherlich die Callback-Funktion eines Pfeils, so dass „die“ bezieht sich auf den Klasse-Umfang, aber dann werde ich keinen Zugriff auf „requiredThirdPartyFunction“.
Jede Hilfe wäre willkommen.
Wow, das hat es für mich getan. Was bedeutet, dass meine Frage im Grunde ein Duplikat aller ähnlichen Fragen war ... Danke für die Klärung! – ZenPylon