異步函數(async/await) 是一種用于處理 JavaScript 異步操作的語法糖,它建立在 Promise 基礎之上,使得異步代碼的編寫和閱讀更加簡潔和直觀。
使用 async/await,你可以在異步函數中使用 await 關鍵字來等待一個 Promise 對象的完成,并將其結果返回。這樣就避免了使用傳統的回調函數或者 Promise 鏈式調用。
下面是使用 async/await 的基本用法:
async
關鍵字來標識:async function myAsyncFunction() {
// 異步操作...
}
await
關鍵字等待一個 Promise 對象的完成,并將其結果返回。注意,await
關鍵字只能在異步函數內部使用:async function myAsyncFunction() {
const result = await myPromise; // 等待 myPromise 的完成,并將其結果賦值給 result
// 使用 result 進行后續操作...
}
await
等待一個 Promise 對象時,你可以將其放在 try-catch
語句塊中捕獲可能的錯誤:async function myAsyncFunction() {
try {
const result = await myPromise;
// 使用 result 進行后續操作...
} catch (error) {
// 處理錯誤...
}
}
需要注意的是,使用 async/await 時,異步函數內部可以使用其他異步函數,并在它們前面加上 await
關鍵字來等待它們的完成。這樣可以將異步操作看起來像同步代碼一樣進行編寫,提高代碼的可讀性。
除了使用 async/await
,你還可以使用 Promise.then()
和 Promise.catch()
來處理異步操作。async/await 語法只是一種更加直觀和簡潔的寫法。