Heim > Web-Frontend > js-Tutorial > Warum gibt async/await immer ein Versprechen zurück?

Warum gibt async/await immer ein Versprechen zurück?

DDD
Freigeben: 2024-12-19 16:59:08
Original
549 Leute haben es durchsucht

Why Does async/await Always Return a Promise?

Warum async/await immer Promise zurückgibt

Bei der Arbeit mit async/await ist es wichtig zu verstehen, dass jede async-Funktion ein Promise-Objekt zurückgibt . Das Schlüsselwort „await“ arbeitet mit Versprechen und hält Ihre Funktion, bis das Versprechen aufgelöst oder abgelehnt wird.

Warum funktioniert console.log() nicht direkt?

Im Gegensatz zu synchronen Funktionen , geben asynchrone Funktionen ihr Ergebnis nicht sofort zurück. Stattdessen geben sie ein Promise zurück, das bei Auflösung das Ergebnis enthält. Daher gibt die Konsole.Protokollierung des Ergebnisses einer asynchronen Funktion direkt nur das Versprechen aus, nicht seinen Wert.

Verwenden von then() zum Entpacken des Versprechens

Zugriff Um das Ergebnis einer asynchronen Funktion zu erhalten, müssen Sie entwederawait oder die Methode .then() verwenden. Die Methode .then() akzeptiert einen Rückruf, der den aufgelösten Wert als Argument verwendet. Im Beispielcode wird die .then()-Methode verwendet, um das JSON-Objekt zu drucken.

Why Not Console.log(getJSON())?

Im Mit dem von Ihnen bereitgestellten Codeausschnitt gibt console.log(getJSON()) ein Versprechen zurück. Dies liegt daran, dass „await“ das Versprechen nicht für Sie auspackt. Dadurch wartet Ihre Funktion nur darauf, dass das Versprechen aufgelöst wird. Sie müssen das Promise immer noch manuell entpacken, indem Sie entweder wait oder .then() verwenden.

Fazit

Um Async/Await effektiv zu nutzen, denken Sie daran, dass async-Funktionen immer Promises zurückgeben . Um auf das Ergebnis einer asynchronen Funktion zuzugreifen, müssen Sie daher entweder „await“ verwenden oder die .then()-Methode für das zurückgegebene Promise aufrufen.

Das obige ist der detaillierte Inhalt vonWarum gibt async/await immer 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage