首頁  >  文章  >  web前端  >  非同步函數如何使用 Async-Await 傳回值?

非同步函數如何使用 Async-Await 傳回值?

Barbara Streisand
Barbara Streisand原創
2024-11-11 13:43:02862瀏覽

How do Async Functions Return Values Using Async-Await?

非同步函數如何使用 Async-Await 傳回值

與常規函數不同,非同步函數利用非同步處理,允許它們暫停和恢復執行。然而,這引入了一個問題:如何檢索傳回的值?

原始查詢

最初,常見的方法是嘗試:

async function getData() {
    const data = await axios.get('https://jsonplaceholder.typicode.com/posts');
    return data;
}
console.log(getData());

但是,這種方法會產生一個Promise { ; } 輸出,因為非同步函數需要特殊處理。

Async IIFE 中 Async-Await 的魔力

解決方案在於將 console.log 包裝在非同步立即呼叫函數表達式 (async IIFE )。看起來像這樣:

async function getData() {
  return await axios.get('https://jsonplaceholder.typicode.com/posts');
}

(async () => {
  console.log(await getData())
})()

Async-Await with Promises

由於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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn