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 gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
Die return()-Methode von AsyncGenerator-Instanzen wirkt so, als ob eine return-Anweisung an der aktuellen Stelle des angehaltenen Generator-Körpers eingesetzt wird. Dies beendet den Generator und ermöglicht es diesem, alle Aufräumarbeiten durchzuführen, wenn er mit einem try...finally-Block kombiniert wird.
Der zurückzugebende Wert.
Ein Promise, das mit einem Object aufgelöst wird, das zwei Eigenschaften hat:
doneEin boolescher Wert:
Der Wert, der als Argument übergeben wird, oder, wenn der yield-Ausdruck in einem try...finally eingeschlossen ist, der aus dem finally-Block zurückgegebene/geyieldete Wert.
Die return()-Methode kann, wenn sie aufgerufen wird, so betrachtet werden, als ob eine return value;-Anweisung an der aktuellen Stelle des angehaltenen Generator-Körpers eingefügt wird, wobei value der Wert ist, der an die return()-Methode übergeben wird. Daher wird normalerweise beim Aufruf von return(value) { done: true, value: value } zurückgegeben. Ist der yield-Ausdruck jedoch in einem try...finally-Block eingeschlossen, verlässt der Kontrollfluss den Funktionskörper nicht sofort, sondern fährt mit dem finally-Block fort. In diesem Fall kann der zurückgegebene Wert unterschiedlich sein, und done kann sogar false sein, wenn es noch mehr yield-Ausdrücke innerhalb des finally-Blocks gibt.
Das folgende Beispiel zeigt einen asynchronen Generator und die Verwendung der return-Methode.
Wenn kein value-Argument an die return()-Methode übergeben wird, wird das Promise aufgelöst, als ob die next()-Methode aufgerufen wurde. In diesem Beispiel ist der Generator abgeschlossen, sodass der zurückgegebene Wert undefined ist.
return() kann weiterhin aufgerufen werden, nachdem der Generator in einem "abgeschlossenen" Zustand ist, allerdings bleibt der Generator in diesem Zustand.
| ECMAScript® 2027 Language Specification # sec-asyncgenerator-prototype-return |
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.