使用Async-Await 進行非同步函數值檢索
在JavaScript 中使用使用async-await 語法的非同步函數時,有必要正確返回值供呼叫者函數使用。
要從非同步函數傳回值,您必須如預期般使用 return 關鍵字。但是,如果您嘗試存取非同步範圍之外的傳回值(如提供的程式碼範例中所示),您將收到處於掛起狀態的 Promise 物件。
要解決此問題,有必要將控制台日誌記錄語句包裝在非同步IIFE(立即呼叫函數表達式)中,如下所示:
(async () => { console.log(await getData()); })();
這允許保留非同步範圍,從而使
請注意,由於axios 庫傳回一個Promise,因此也可以省略getData 函數的async-await語法,如下所示:
function getData() { return axios.get('https://jsonplaceholder.typicode.com/posts'); }
然後,您可以如上所述將控制台日誌記錄語句包裝在非同步 IIFE 中,以從 getData 函數檢索值。有關 async/await 的更多資訊可以在線找到。
以上是如何使用 Async-Await 從非同步函數中檢索值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!