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!