Heim > Web-Frontend > js-Tutorial > Warum gibt meine Async/Await-Funktion immer noch ein Versprechen zurück?

Warum gibt meine Async/Await-Funktion immer noch ein Versprechen zurück?

Barbara Streisand
Freigeben: 2024-12-02 02:08:10
Original
888 Leute haben es durchsucht

Why Does My Async/Await Function Still Return a Promise?

Async/Await: Promise-Rückgabewerte verstehen

In Ihrem Code ist die getJSON-Funktion eine asynchrone Funktion, die die async/await-Syntax verwendet. Wie die Frage richtig besagt, gibt jede asynchrone Funktion ein Promise-Objekt zurück. Der Wait-Operator wird dann verwendet, um die Ausführung der Funktion anzuhalten, bis das Promise aufgelöst oder abgelehnt wird.

Sie können das Ergebnis der asynchronen Funktion jedoch nicht direkt mit console.log(getJSON()) protokollieren. Dies liegt daran, dass „await“ nur die Funktionsausführung unterbricht und es dem Promise ermöglicht, mit dem Ergebnis aufzulösen. Die Funktion selbst gibt jedoch immer noch das zugrunde liegende Versprechen zurück, nicht das entpackte Ergebnis.

Um auf das Ergebnis des Versprechens zuzugreifen, müssen Sie entweder die Methode then() verwenden, wie Sie gezeigt haben, oder „await“ in einer anderen Methode erneut verwenden asynchrone Funktion. In Ihrem Fall protokolliert getJSON().then(json => console.log(json)) das Ergebnis { foo: 'bar' }, weil es einen then-Handler an das von getJSON zurückgegebene Promise ankettet.

Wie in der Antwort erwähnt, ist dieses Verhalten für das Promise-Modell von grundlegender Bedeutung. Versprechen stellen asynchrone Vorgänge dar, die zu einem unbestimmten Zeitpunkt in der Zukunft aufgelöst werden können. Mit der then()-Methode können Sie angeben, welche Aktionen ausgeführt werden sollen, wenn das Versprechen aufgelöst wird.

Wenn Sie verstehen, dass asynchrone Funktionen immer Versprechen zurückgeben, auch wenn Sie „await“ verwenden, können Sie asynchronen Code in Ihren Anwendungen korrekt verarbeiten und nutzen .

Das obige ist der detaillierte Inhalt vonWarum gibt meine Async/Await-Funktion immer noch ein Versprechen zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage