為什麼非同步函數會傳回有掛起狀態的 Promise 而不是值?
程式碼定義了一個非同步函數 AuthUser,它呼叫google.login() 並傳回它產生的承諾。當函數被呼叫時,promise 會被記錄為待處理狀態,因為它的結果尚未被解析。
解決方案:
要訪問 Promise 的解析值,它必須與 .then() 鏈接,即使它仍然處於掛起狀態。例如:
AuthUser(data) .then((token) => { console.log(token); // "Some User token" });
詳細資料:
Promise 是單向操作。一旦解析,它們的值就會傳遞給 .then() 或 .catch() 方法,無論它們的狀態如何(已解析或待處理)。 .then() 的回傳值是 Promise 的解析值。
在提供的程式碼中,AuthUser 直接傳回 Promise,使其解析值在呼叫 .then() 之前不可用。
其他見解:
以上是為什麼非同步函數會傳回待處理的 Promise 而不是立即值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!