Gibt es eine Möglichkeit, die es mir ermöglichen würde, eine Klasse als eine Funktion aufzurufen. Ich suche nach der Funktionalität unten, wo es eine main
Methode innerhalb der Klasse gibt und das ist diejenige, die ich die Methode ausführen lassen möchte.Kann eine Klasse nicht als Funktion aufrufen
class test {
constructor() {
return this.main
}
main() {
return Promise.resolve('thomas')
}
}
test().then(name => {
console.log(name)
})
Es scheint, dass meine einzige andere Option wäre, eine Wrapper-Funktion wie diese zu haben.
Sie müssen das Schlüsselwort 'new' verwenden, wenn Sie JS-Klassen verwenden. Ich stimme zu, dass die zweite Option, die Sie angegeben haben, korrekt ist. (oder verwende keine Klassen) – evolutionxbox
Eine Klasse konstruiert ein Objekt. Ihr Konstruktor würde eine andere Funktion und keine Instanz der Klasse zurückgeben. Das macht wenig Sinn. Was genau willst du hier erreichen? Vielleicht ist eine statische Methode in der Klasse, was Sie suchen? –
@FelixKling Ich möchte eine komplexe Funktion erstellen, die eine Menge innerer Funktionen hat und Referenzen auf sich selbst mit 'this.methodName' aufruft, anstatt eine Tonne kleiner Funktionen zu erstellen. Ich möchte nur diese eine "Haupt" -Funktion verwenden. Ich verstehe, dass es nicht die beste Verwendung einer Klasse ist, aber ich kann meinen Kuchen essen und es auch essen, wenn ich ihn wie oben verpacke. – ThomasReggi