Async/await是什麼意思
async/await
是一種在 JavaScript 中使用異步(asynchronous)函數的語法糖(syntactic sugar)。它提供了一種更為同步(synchronous)風格的方式來編寫異步代碼,使得異步代碼看起來更加清晰和易讀。
async
關鍵字用來定義一個異步函數,這個函數會自動返回一個 Promise
對象。在 async
函數中,可以使用 await
關鍵字來等待一個 Promise
resolve 後再繼續執行代碼。
下面是一個使用 async/await
的簡單示例:
async function fetchData() {
// 使用 await 等待 fetch 請求完成
const response = await fetch('https://example.com/data');
const data = await response.json();
// 使用 data 變量
console.log(data);
}
fetchData().then(() => console.log('Data fetched successfully'));
在上面的示例中,fetchData
函數是一個 async
函數,它使用 await
關鍵字等待 fetch
請求完成並解析回來的數據。由於 async
函數會返回一個 Promise
,我們可以使用 .then()
方法來處理完成時的回調。
async/await
語法通常與 try...catch
語句結合使用,以處理異常情況:
async function fetchData() {
try {
const response = await fetch('https://example.com/data');
const data = await response.json();
// 使用 data 變量
console.log(data);
} catch (error) {
console.error('An error occurred while fetching data:', error);
}
}
fetchData().then(() => console.log('Data fetched successfully'));
在這個示例中,如果 fetch
請求失敗或者數據解析發生錯誤,catch
子句將會捕獲並列印出錯誤信息。
總結一下,async/await
語法使得編寫異步代碼更加簡潔和直觀,它將異步流程轉換為同步風格,使得代碼更容易理解和維護。