• Home
Name Date Size #Lines LOC

..--

AppScope/22-Oct-2025-3532

hvigor/22-Oct-2025-3836

ispromise/22-Oct-2025-683571

resolvereject/22-Oct-2025-660543

screenshots/22-Oct-2025-

.gitignoreD22-Oct-2025133 1212

README.mdD22-Oct-20253.7 KiB9371

build-profile.json5D22-Oct-20251.6 KiB6968

code-linter.json5D22-Oct-2025958 3534

hvigorfile.tsD22-Oct-2025843 225

oh-package.json5D22-Oct-2025834 2624

ohosTest.mdD22-Oct-2025841 97

README.md

1# ArkTS使用JSVM-API接口处理异步操作
2
3### 介绍
4
5使用JSVM-API接口处理异步操作。异步操作是指需要一定时间才能完成的操作,例如从网络下载数据或读取大型文件。与同步操作不同,异步操作不会阻塞主线程,而是会在后台执行。当异步操作完成后,事件循环将把它放入任务队列中,等待主线程空闲时执行。
6
7该工程中展示的代码详细描述可查如下链接:
8
9- [使用JSVM-API接口处理异步操作](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/napi/use-jsvm-about-promise.md)
10
11### 效果预览
12
13|                                 首页                                 |                          执行及结果即时反馈                          |
14| :------------------------------------------------------------------: | :------------------------------------------------------------------: |
15| <img src="./screenshots/JsvmAboutPromise_1.png" style="zoom:33%;" /> | <img src="./screenshots/JsvmAboutPromise_2.png" style="zoom:33%;" /> |
16
17### 使用说明
18
191. 在主界面,可以点击Hello World,开始执行。
202. 执行结果会即时反馈在屏幕中央,并在控制台打印log。
21
22### 工程目录
23
24```
25ispromise/src/
26 ├── main
27 │   ├── cpp
28 │   │   ├── types
29 │   │   │   ├── libentry
30 │   │   │   │   ├── Index.d.ts          // 提供JS侧的接口方法
31 │   │   │   │   ├── oh-package.json5 	 // 将index.d.ts与cpp文件关联
32 │   │   ├── CMakeLists.txt              // 配置CMake打包参数
33 │   │   ├── hello.cpp                   // 实现Native侧的runTest接口
34 │   ├── ets
35 │   │   ├── entryability
36 │   │   ├── entrybackupability
37 │   │   ├── pages
38 │   │       ├── Index.ets               // ArkTS侧调用C/C++方法实现
39 │   ├── module.json5
40 │   └── resources
41 ├── ohosTest
42 │   ├── ets
43 │   │   ├── test
44 │   │       ├── Ability.test.ets        // 自动化测试代码
45resolvereject/src/
46 ├── main
47 │   ├── cpp
48 │   │   ├── types
49 │   │   │   ├── libresolvereject
50 │   │   │   │   ├── Index.d.ts          // 提供JS侧的接口方法
51 │   │   │   │   ├── oh-package.json5 	 // 将index.d.ts与cpp文件关联
52 │   │   ├── CMakeLists.txt              // 配置CMake打包参数
53 │   │   ├── hello.cpp                   // 实现Native侧的runTest接口
54 │   ├── ets
55 │   │   ├── resolverejectability
56 │   │   ├── pages
57 │   │       ├── Index.ets               // ArkTS侧调用C/C++方法实现
58 │   ├── module.json5
59 │   └── resources
60 ├── ohosTest
61 │   ├── ets
62 │   │   ├── test
63 │   │       ├── Ability.test.ets        // 自动化测试代码
64```
65
66### 相关权限
67
68不涉及。
69
70### 依赖
71
72不涉及。
73
74### 约束与限制
75
761.本示例仅支持标准系统上运行, 支持设备:Phone。
77
782.本示例为Stage模型,支持API15版本SDK,版本号:5.0.3.135,镜像版本号:HarmonyOS NEXT_5.0.3.135。
79
803.本示例需要使用DevEco Studio 5.0.3 Release (Build Version: 5.0.9.300, built on March 13, 2025)及以上版本才可编译运行。
81
82### 下载
83
84如需单独下载本工程,执行如下命令:
85
86```
87git init
88git config core.sparsecheckout true
89echo code/DocsSample/ArkTS/JSVMAPI/JsvmUsageGuide/JsvmAboutPromise > .git/info/sparse-checkout
90git remote add origin https://gitee.com/openharmony/applications_app_samples.git
91git pull origin master
92```
93