async/await
async/await 是 JavaScript 中用於處理異步操作的一種現代語言特性,它使開發者能夠以同步的方式編寫異步代碼,使異步代碼更容易編寫和理解,並提供了更好的錯誤處理機制。
它通常與 Promise 結合使用,以便執行異步操作並等待它們的結果。
async 異步函數
- async 關鍵字用於定義一個異步函數。異步函數返回一個 Promise 對象,它包裝了函數的執行結果(無論是成功還是失敗)。
- 異步函數內部可以包含異步操作,例如異步請求、定時器等。
await 表達式
- await 關鍵字用於等待一個 Promise 解決,並返回 Promise 解決後的結果。它只能在異步函數內部使用。
- 當 await 表達式執行時,它會阻塞異步函數的執行直到 somePromise 解決。在等待期間,其他代碼可以繼續執行,不會被阻塞。
- 當你在一個 async 函式中使用 await 關鍵字等待一個 Promise 解析時,你不需要明確地使用 return 來返回 Promise 的解析值。當你使用 await 等待 Promise 解析時,該值將自動成為該 async 函式的返回值。
try…catch 錯誤處理
- 在異步函數中,你可以使用 try…catch 塊來捕獲異步操作可能拋出的錯誤。
示例-如何使用 async/await 處理異步操作
在上述示例中,fetchData 函數等待一個網絡請求完成,如果請求失敗或解析 JSON 數據時出錯,會捕獲錯誤並處理它。