Website-Suche

javascript - Ist es möglich, einen Destruktor für eine TypeScript-Klasse zu implementieren?


Ich habe eine Objektinstanz auf Serverseite und ihre Darstellung auf der Clientseite. Wenn ich eine Instanz auf dem Client erstelle, sagt ihr Konstruktor dem Server, dass ein zugehöriges Objekt erstellt werden muss. Und wenn dieses Objekt (Clientseite) außer Reichweite ist, möchte ich dem Server sagen, dass das zugehörige Objekt gelöscht werden soll. Wie kann ich das tun, ohne jedes Mal manuell die Destroy()-Methode aufzurufen?

Antwort #1

Wie Sie wissen, hat Javascript einen Müllsammler. Daher müssen Sie sicherstellen, dass das Objekt für die Müllabfuhr geeignet ist.

Wenn Sie Ihrem Objekt mitteilen möchten, dass Sie mit ihm fertig sind und es speziell alle Ereignis-Listener freigeben soll, die es hat, können Sie einfach eine gewöhnliche Methode dafür erstellen.

Sie können die Methode release() oder deregister() oder wie auch immer Sie möchten nennen. Die Idee ist, dem Objekt mitzuteilen, dass es sich von allem, womit es verbunden ist, trennen soll (Event-Listener abmelden, externe Objektreferenzen löschen usw.). Diese Methode sollte zum geeigneten Zeitpunkt manuell aufgerufen werden.

Sie können mehr über das Destruktor-Paradigma zu diesem Thema lesen

Antwort #2

Es wird hier möglicherweise beantwortet: Gibt es Destruktoren in TypeScript? Da JS einen Garbage Collector verwendet, gibt es keine Möglichkeit vorherzusagen, wann ein Objekt zerstört wird. Also keine Destruktoren.

Verwandte Artikel