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 語法使得編寫異步代碼更加簡潔和直觀,它將異步流程轉換為同步風格,使得代碼更容易理解和維護。