我對 async/await 的概念有點困惑,特別是當它與函數中的 .then() 相比時。
我目前正在使用一個基本的 React 應用程序,並在 useEffect
中獲取一些數據
我想知道,由於fetch
返回Promise
,為什麼在執行以下範例時我不需要將任何內容標記為async
或await
:
useEffect(() => { fetch("whatever").then(res => console.log(res)); }, [])
但是當我選擇執行 await
時,我需要將程式碼包裝在 async
函數中
useEffect(() => { // error, needs to be in an async function const res = await fetch("whatever"); },[])
我想我的問題實際上是使用.then()
與使用async
await
連結之間有什麼區別,為什麼. then()
不需要我等待任何東西,即使獲取回傳一個承諾? < /p>
謝謝
要加入到@HEllRZA,then() 和 async/await 都可以用來處理 JavaScript 中的 Promise。 then() 是一種採用回呼函數作為參數的方法,並允許您連結多個 then() 方法來按順序處理回應。 Async/await 是一種在 JavaScript 中編寫非同步程式碼的新方法。