在 async/await 中,假設非同步函數將傳回 Promise。然而,當在頂層使用非同步函數而沒有明確的 Promise 處理時,就會出現複雜性。
這裡的問題是 main 函數傳回一個 Promise ,使 console.log('outside: ' text) 語句陷入困境,沒有立即輸出的值。 async/await 語法導致「inside」訊息在「outside」訊息之後被記錄,因為它會等待 main() 返回的 Promise 解決後再繼續。
要在沒有明確 then() 處理的情況下使用回傳值,您有三個選項:
1。模組中的頂層 Await
(在支援 ES2022的現代環境中可用)
2.永不拒絕的頂級非同步函數
3.然後趕上
以上是為什麼'console.log”出現在頂級'async”程式碼中的非同步函數結果之前?的詳細內容。更多資訊請關注PHP中文網其他相關文章!