與常規函數不同,非同步函數利用非同步處理,允許它們暫停和恢復執行。然而,這引入了一個問題:如何檢索傳回的值?
最初,常見的方法是嘗試:
async function getData() { const data = await axios.get('https://jsonplaceholder.typicode.com/posts'); return data; } console.log(getData());
但是,這種方法會產生一個Promise {
解決方案在於將 console.log 包裝在非同步立即呼叫函數表達式 (async IIFE )。看起來像這樣:
async function getData() { return await axios.get('https://jsonplaceholder.typicode.com/posts'); } (async () => { console.log(await getData()) })()
由於Axios 回傳一個Promise,你可以省略async/await 來簡化getData 函數:
function getData() { return axios.get('https://jsonplaceholder.typicode.com/posts'); }(async () => { console.log(await getData()) })() 然後像以前一樣將console.log 包裝在async IIFE中:結論透過在 async IIFE 中使用 async-await,您可以有效地檢索和記錄值由非同步函數返回,釋放非同步程式設計的潛力。
以上是非同步函數如何使用 Async-Await 傳回值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!