為什麼async/await 總是回傳Promise
使用async/await 時,理解每個async 函數傳回一個Promise 物件是至關重要的。 wait 關鍵字對 Promise 進行操作,保留您的函數直到 Promise 解析或拒絕。
為什麼 console.log() 不能直接運作?
與同步函數不同,非同步函數不會立即傳回其結果。相反,它們會傳回一個 Promise,該 Promise 在解析後包含結果。因此,直接通過 console.logging 非同步函數的結果只會列印 Promise,而不列印它的值。
使用 then() 解開 Promise
存取如果要取得非同步函數的結果,則必須使用await 或.then() 方法。 .then() 方法接受一個回調,該回調將解析值作為參數。在範例程式碼中,使用 .then() 方法列印 json 物件。
為什麼不使用 Console.log(getJSON())?
中您提供的程式碼片段,console.log(getJSON()) 將會傳回一個 Promise。這是因為 wait 不會為您解開 Promise。它只會讓你的函數等待 Promise 解析。您仍然需要使用await或.then()手動解開Promise。
結論
要有效地利用async/await,請記住非同步函數總是會傳回Promise 。因此,要存取非同步函數的結果,您必須使用await或對傳回的Promise呼叫.then()方法。
以上是為什麼 async/await 總是回到 Promise?的詳細內容。更多資訊請關注PHP中文網其他相關文章!