async/await是一种用于处理异步操作的Promise语法糖,使得编写异步代码变得更加简单和易读。通过使用async关键字声明一个函数为异步函数,并使用await关键字等待Promise的解析(完成或拒绝),以同步的方式编写异步操作的代码。
async函数是一个返回Promise对象的函数,用于表示一个异步操作。在async函数内部,可以使用await关键字等待一个Promise对象的解析,并返回其解析值。如果一个async函数抛出异常,那么该函数返回的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函数中。除了在async函数中使用await外,还可以使用try/catch块来捕获异步操作中的异常。
更多鸿蒙技术已更新在 ↓
async function myAsyncFunction() {
try {
const result = await new Promise((resolve) = > {
resolve('Hello, world!');
});
} catch (e) {
console.error(`Get exception: ${e}`);
}
}
myAsyncFunction();
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
函数
+关注
关注
3文章
4422浏览量
67850 -
鸿蒙
+关注
关注
60文章
3018浏览量
46178 -
鸿蒙OS
+关注
关注
0文章
194浏览量
5551
发布评论请先 登录
相关推荐
热点推荐
鸿蒙原生应用开发-ArkTS语言基础类库异步并发简述async/await
async/await是一种用于处理异步操作的Promise语法糖,使得编写异步代码变得更加简单和易读。通过使用async关键字声明一个函数
发表于 03-06 14:44
鸿蒙原生应用开发-ArkTS语言基础类库多线程@Concurrent装饰器校验并发函数
在使用TaskPool时,执行的并发函数需要使用该装饰器修饰,否则无法通过相关校验。从API version 9开始,该装饰器支持在ArkTS卡片中使用。
装饰器说明
装饰器使用示例
import
发表于 03-18 10:30
鸿蒙原生应用开发-ArkTS语言基础类库多线程I/O密集型任务开发
使用异步并发可以解决单次I/O任务阻塞的问题,但是如果遇到I/O密集型任务,同样会阻塞线程中其它任务的执行,这时需要使用多线程并发能力来进行解决。
I/O密集型任务的性能重点通常不在于CPU的处理
发表于 03-21 14:57
鸿蒙OS实例:同步获取应用配置的【versionCode和versionName】
鸿蒙大部分提供的方法都是异步的,所以可以使用async、await 转换,可以跟同步方法一样的使用...只是要注意这个会阻塞
鸿蒙OS开发实例:【ArkTS类库多线程@Concurrent装饰器校验并发函数】
在使用TaskPool时,执行的并发函数需要使用该装饰器修饰,否则无法通过相关校验。从API version 9开始,该装饰器支持在ArkTS卡片中使用。
鸿蒙OS开发实例:【ArkTS类库异步并发async/await】
评论