async/await是一種用于處理異步操作的Promise語法糖,使得編寫異步代碼變得更加簡單和易讀。通過使用async關鍵字聲明一個函數(shù)為異步函數(shù),并使用await關鍵字等待Promise的解析(完成或拒絕),以同步的方式編寫異步操作的代碼。
async函數(shù)是一個返回Promise對象的函數(shù),用于表示一個異步操作。在async函數(shù)內部,可以使用await關鍵字等待一個Promise對象的解析,并返回其解析值。如果一個async函數(shù)拋出異常,那么該函數(shù)返回的Promise對象將被拒絕,并且異常信息會被傳遞給Promise對象的onRejected()方法。
下面是一個使用async/await的例子,其中模擬了一個異步操作,該操作會在3秒鐘后返回一個字符串
async function myAsyncFunction() {
const result = await new Promise((resolve) = > {
setTimeout(() = > {
resolve('Hello, world!');
}, 3000);
});
console.info(String(result)); // 輸出: Hello, world!
}
myAsyncFunction();
在上述示例代碼中,使用了await關鍵字來等待Promise對象的解析,并將其解析值存儲在result變量中。
需要注意的是,由于要等待異步操作完成,因此需要將整個操作包在async函數(shù)中。除了在async函數(shù)中使用await外,還可以使用try/catch塊來捕獲異步操作中的異常。
更多鴻蒙技術已更新在 ↓
async function myAsyncFunction() {
try {
const result = await new Promise((resolve) = > {
resolve('Hello, world!');
});
} catch (e) {
console.error(`Get exception: ${e}`);
}
}
myAsyncFunction();
審核編輯 黃宇
-
函數(shù)
+關注
關注
3文章
4344瀏覽量
62864 -
鴻蒙
+關注
關注
57文章
2388瀏覽量
42964 -
鴻蒙OS
+關注
關注
0文章
190瀏覽量
4488
發(fā)布評論請先 登錄
相關推薦
評論