Saya agak keliru dengan konsep async/wait, terutamanya jika dibandingkan dengan .then() dalam fungsi.
Saya sedang bekerja dengan apl React asas dan mendapatkan beberapa data dalam useEffect
Saya tertanya-tanya, kerana fetch
返回 Promise
,为什么在执行以下示例时我不需要将任何内容标记为 async
或 await
:
useEffect(() => { fetch("whatever").then(res => console.log(res)); }, [])
Tetapi apabila saya memilih untuk melaksanakan fungsi await
时,我需要将代码包装在 async
useEffect(() => { // error, needs to be in an async function const res = await fetch("whatever"); },[])
Saya rasa masalah saya sebenarnya menggunakan .then()
与使用 async
await
链接之间有什么区别,为什么 .then()
tidak memerlukan saya menunggu apa-apa, walaupun mendapat pulangan janji? < /p>
Terima kasih
Untuk menambah pada @HEllRZA, kedua-dua then() dan async/wait boleh digunakan untuk mengendalikan Promises dalam JavaScript. then() ialah kaedah yang mengambil fungsi panggil balik sebagai parameter dan membolehkan anda merantai beberapa kaedah then() untuk memproses respons mengikut turutan. Async/wait ialah cara baharu untuk menulis kod tak segerak dalam JavaScript.