Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Die move()-Methode von Instanzen von DisposableStack erstellt eine neue DisposableStack-Instanz, die dieselben Disposer wie dieser Stack enthält, und markiert dann diesen Stack als entsorgt, ohne die Disposer aufzurufen.
Keine.
Eine neue DisposableStack-Instanz.
Wird ausgelöst, wenn der Stack bereits entsorgt ist.
Der Hauptzweck von move() besteht darin, die Verantwortung für die Entsorgung aus dem aktuellen Bereich zu übertragen. Beispielsweise kann Ihre Funktion das Eigentum an einigen Ressourcen beanspruchen und sie entsorgen, wenn ein Fehler auftritt; wenn alles erfolgreich abgeschlossen wird, geben Sie diese Ressourcen zurück und übertragen das Eigentum an den Aufrufer.
Wenn Sie move() verwenden, um das Eigentum zu übertragen, sollte der Aufruf von move() der letzte Schritt in Ihrem Kontrollfluss sein, da es keinen Besitzer zwischen dem Loslassen des Eigentums durch Ihren Code mit move() und dem Aufnehmen des Eigentums durch den Aufrufer aus dem Rückgabewert gibt.
Seien Sie auch vorsichtig bei folgendem Muster, obwohl in vielen Fällen die Verwendung des "guten" Musters sehr umständlich sein kann:
move() kann auch für die konditionale Entsorgung verwendet werden, wenn Sie manchmal die Ressourcen überhaupt nicht entsorgen möchten. Zum Beispiel:
Der Hauptanwendungsfall von move() ist, wenn Sie eine oder mehrere Ressourcen haben, die entweder direkt hier entsorgt oder für die spätere Verwendung aufbewahrt werden sollen. In diesem Fall können Sie die Ressourcen in einen DisposableStack legen und move() aufrufen, wenn Sie die Ressourcen für die spätere Verwendung aufbewahren müssen.
| ECMAScript Async Explicit Resource Management # sec-disposablestack.prototype.move |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.