鸿蒙OS开发实例:【ArkTS类库异步并发async/await】
1.鸿蒙开发TypeScript语言:【基础语法】2.鸿蒙开发TypeScript语言:【基础类型】3.鸿蒙开发TypeScript语言:【变量声明】4.鸿蒙开发TypeScript语言:【运算符】5.鸿蒙开发TypeScript语言:【条件语句】6.鸿蒙开发TypeScript语言:【循环】7.鸿蒙开发TypeScript语言:【函数】8.鸿蒙开发TypeScript语言:【Number】9.HarmonyOS开发实例:【相机和媒体库】10.鸿蒙开发实战:【系统服务框架部件】11.鸿蒙开发实战:【文件管理】12.鸿蒙开发实战:【系统服务管理部件】13.鸿蒙开发实战:【Hdf Framework】14.鸿蒙实战开发:【国际化部件】15.鸿蒙开发实例【使用高德地图鸿蒙SDK】(一)16.鸿蒙NXET实战:高德地图定位SDK【获取Key+获取定位数据】(二)17.鸿蒙开发案例:【图像加载缓存库ImageKnife】18.鸿蒙开发图形图像:【图形子系统】19.鸿蒙OpenHarmony开发实战:【MiniCanvas】20.鸿蒙ArkUI【开发移植Carbon】21.鸿蒙开发学习【地图位置服务组件】22.鸿蒙开发实战:网络请求库【axios】23.鸿蒙网络开发学习:【ylong_http】24.鸿蒙开发学习:【华为支付服务客户端案例】25.鸿蒙实战开发:【7日天气预报】26.鸿蒙开发实战:基于【Markwon】移植和开发27.鸿蒙OpenHarmony技术:【设备互信认证】28.鸿蒙OpenHarmony技术:【应用子系统/Launcher】29.鸿蒙开发实战:快速上手【万能卡片】30.鸿蒙APP开发实战:【Api9】拍照、拍视频;选择图片、视频、文件工具类31.鸿蒙OS应用开发:【DevEco Studio3.0 和 3.1版本差异】32.鸿蒙OS实战:【module的使用】33.鸿蒙OS应用示例:【数字滚动计时】34.鸿蒙OS封装【axios 网络请求】(类似Android的Okhttp3)35.鸿蒙APP开发:【ArkTS类库多线程】TaskPool和Worker的对比36.鸿蒙OS开发实例:【demo选择列表限定数量】37.鸿蒙开发实例:【demo-搜索历史记录】38.鸿蒙APP开发:【ArkTS类库多线程】TaskPool和Worker的对比(2)39.鸿蒙OS实例:同步获取应用配置的【versionCode和versionName】40.鸿蒙OS(ArkTS) 案例:【使用http网络请求框架加载验证码】41.鸿蒙OS开发案例:【API9】遍历沙漏文件夹并输入文件的大小42.鸿蒙OS开发问题:(ArkTS)【 RSA加解密,解决中文乱码等现象】43.鸿蒙OS开发问题:(ArkTS) 【解决中文乱码 string2Uint8Array、uint8Array2String】44.鸿蒙OS开发实例:【工具类封装-emitter组件间通信】45.鸿蒙OS开发实例:【工具类封装-http请求】46.鸿蒙OS开发实例:【工具类封装-首选项本地存储】47.鸿蒙OS开发实例:【工具类封装-页面路由】48.鸿蒙OS开发实例:【装饰器@Observed@ObjectLink】49.鸿蒙OS开发实例:【装饰器-@BuilderParam】50.鸿蒙OS开发实战:【悬浮窗口】51.鸿蒙OS开发实例:【页面传值跳转】52.鸿蒙OS开发实例:【Web网页】53.鸿蒙OS开发实例:【手撸服务卡片】54.鸿蒙OS开发实例:【应用级别文件浏览器】55.鸿蒙OS开发实例:【瀑布流式图片浏览】56.鸿蒙OS开发实例:【消息传递】57.鸿蒙OS开发实战:【打造自己的搜索入口】58.鸿蒙OS开发教学:【编程之重器-装饰器】59.鸿蒙OS开发实例:【窥探网络请求】60.鸿蒙OS开发实战:【Socket小试MQTT连接】61.鸿蒙OS开发实战:【穿戴应用】62.鸿蒙OS开发实例:【ArkTS 实现MQTT协议】63.鸿蒙OS开发实战:【网络管理HTTP数据请求】64.鸿蒙OS开发实例:【ArkTS类库多线程I/O密集型任务开发】65.鸿蒙OS开发实战:【ArkTS 实现MQTT协议(2)】66.鸿蒙OS开发实例:【通知消息】67.鸿蒙OS开发实例:【埋点探究】68.鸿蒙OS开发问题:【尺寸适配算法】69.鸿蒙OS开发实例:【NAPI入门】70.鸿蒙OS开发实例:【NAPI 进阶】71.鸿蒙OS开发案例:【ArkTS类库多线程CPU密集型任务Worker】72.鸿蒙OS开发实例:【ArkTS类库多线程CPU密集型任务TaskPool】73.鸿蒙OS开发实例:【ArkTS类库多线程@Concurrent装饰器校验并发函数】74.鸿蒙OS元服务开发案例:【WebGL网页图形库开发着色器绘制彩色三角形】75.鸿蒙OS元服务开发说明:【WebGL网页图形库开发接口】76.鸿蒙OS开发实例:【ArkTS类库异步并发简述Promise】
77.鸿蒙OS开发实例:【ArkTS类库异步并发async/await】
78.鸿蒙原OS开发实例:【ArkTS类库单次I/O任务开发】79.鸿蒙OS元服务开发:【(Stage模型)学习窗口沉浸式能力】80.鸿蒙OS元服务开发:【(Stage模型)设置应用主窗口】81.鸿蒙OS元服务开发:【(Stage模型)设置悬浮窗】82.鸿蒙嵌入式南向开发案例:【智能养花机】83.鸿蒙OS开发实例:【应用状态变量共享】84.鸿蒙NEXT南向开发案例:【智能台灯】85.鸿蒙OS开发实例:【组件化模式】86.鸿蒙实战开发:【实现应用悬浮窗】87.鸿蒙南向开发实战:【智能窗帘】88.鸿蒙OS开发实例:【应用事件打点】89.鸿蒙南向开发实战:【智能扫地机】90.鸿蒙ArkUI实例:【自定义组件】91.鸿蒙ArkTS开始实例:【canvas实现签名板功能】92.鸿蒙OS开发实战:【自动化测试框架】使用指南93.鸿蒙ArkUI开发实战:制作一个【简单计数器】94.鸿蒙南向开发:制作【智能儿童手表】95.鸿蒙ArkUI声明式学习:【UI资源管理】96.鸿蒙OS实战开发:【多设备自适应服务卡片】97.OpenHarmony实例:【资源管理器】98.鸿蒙OS南向开发实战:【智能电子牌】99.鸿蒙ArkUI开发学习:【渲染控制语法】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();
分类:
鸿蒙开发技术
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)