Asynchrone Funktionen: Rückgabewerte und Versprechen verstehen
Während asynchrone Funktionen es Ihnen ermöglichen, Code in einem synchronen Stil zu schreiben, geben sie von Natur aus Versprechen zurück. Dies kann zu Verwirrung hinsichtlich des Rückgabewerts Ihres Codes führen.
Promises: Ein kurzer Überblick
Promises sind Objekte, die den eventuellen Abschluss oder Misserfolg eines asynchronen Vorgangs darstellen . Sie bieten zwei Schlüsselmethoden:
Asynchrone Funktionen und Versprechen
Asynchrone Funktionen geben immer ein Versprechen zurück, auch wenn Sie das Schlüsselwort „await“ nicht explizit verwenden . Dieses Versprechen stellt das Ergebnis des asynchronen Vorgangs dar. Wenn die Funktion einen Fehler auslöst, wird das Versprechen mit diesem Fehler abgelehnt.
Verwendung:
Versprechen mit Rückruffunktionen:
<code class="javascript">const myAsyncFunction = () => { return new Promise((resolve, reject) => { setTimeout(() => { resolve('Asynchronous value'); }, 1000); }); }; myAsyncFunction() .then(result => { console.log(`Callback Result: ${result}`); }) .catch(error => { console.log(`Error: ${error}`); });</code>
Versprechen mit Async/Await:
<code class="javascript">async function myAsyncFunction() { const result = await new Promise((resolve, reject) => { setTimeout(() => { resolve('Asynchronous value'); }, 1000); }); return result; } myAsyncFunction() .then(result => { console.log(`Await Result: ${result}`); }) .catch(error => { console.log(`Error: ${error}`); });</code>
In diesen Beispielen gibt die myAsyncFunction ein Versprechen zurück, das nach einer Verzögerung von 1 Sekunde mit dem Wert „Asynchroner Wert“ aufgelöst wird . Die Methoden then und Catch behandeln den gelösten bzw. abgelehnten Status.
Das Versprechen zurückgeben
Wenn Sie das Versprechen selbst ohne Änderungen zurückgeben möchten, können Sie dies einfach tun write:
<code class="javascript">const myAsyncFunction = () => { return new Promise(...); };</code>
Einen geänderten Wert zurückgeben
Um einen geänderten Wert von einer asynchronen Funktion zurückzugeben, müssen Sie das Promise-Ergebnis innerhalb der then-Methode verarbeiten und zurückgeben der geänderte Wert. Zum Beispiel:
<code class="javascript">async function myAsyncFunction() { const result = await new Promise(...); return result.toUpperCase(); }</code>
Diese Funktion gibt ein Versprechen zurück, das mit der Großbuchstabenversion des Ergebnisses aufgelöst wird.
Das obige ist der detaillierte Inhalt vonWas sind die Rückgabewerte von Async-Funktionen und in welcher Beziehung stehen sie zu Versprechen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!