如何在Native侧调用ArkTS侧异步方法,并获取异步计算结果到Native侧
如何在Native侧调用ArkTS侧异步方法,并获取异步计算结果到Native侧
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
ArkTS侧如何接收Native侧的键值对进行修改并返回到Native侧
2764浏览 • 1回复 待解决
arkts侧hashmap转为native侧
1284浏览 • 1回复 待解决
Native调用ArkTS侧类函数
1389浏览 • 1回复 待解决
如何在Native侧释放ArkTS对象
2688浏览 • 1回复 待解决
在Native侧调用ArkTS的全局普通方法
1395浏览 • 1回复 待解决
Native侧如何获取ArkTS侧Object对象及其成员变量
2984浏览 • 1回复 待解决
native侧如何跟ArkTS侧子线程通信
324浏览 • 1回复 待解决
native侧如何调用类的静态方法?
1260浏览 • 1回复 待解决
如何在Native侧获取APP版本信息
2562浏览 • 1回复 待解决
ArkTS侧与Native侧如何进行map数据交互
2559浏览 • 1回复 待解决
在Native侧如何精准获取ArkTS侧传入的字符串长度
2832浏览 • 1回复 待解决
在Native侧释放ArkTS对象的方法
837浏览 • 1回复 待解决
HarmonyOS H5侧调用应用侧,异步返回数据Demo
750浏览 • 1回复 待解决
如何在Native侧C++子线程直接调用ArkTS接口,不用通过ArkTS侧触发回调
2479浏览 • 1回复 待解决
ArkTS侧与Native侧分别如何动态加载SO库
2897浏览 • 1回复 待解决
如何在Native侧构建一个ArkTS对象
2581浏览 • 1回复 待解决
native侧如何使用类的静态方法
975浏览 • 1回复 待解决
native侧的log获取不到
1785浏览 • 1回复 待解决
TS侧如何批量传递函数到native侧
1145浏览 • 1回复 待解决
Napi回调ArkTS,Native侧日志通过监听回调到JS侧
1515浏览 • 1回复 待解决
Native侧获取env具有线程限制,如何在C++子线程触发ArkTS侧回调
2441浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS NEXT中利用异步线程实现Native侧的进度通知功能?
371浏览 • 0回复 待解决
HarmonyOS C侧的自定义类如何在ArkTS侧调用
205浏览 • 1回复 待解决
Native侧如何获取可操作的文件目录
2505浏览 • 1回复 待解决
Native侧如何打印char指针
2030浏览 • 1回复 待解决
该场景诉求可以通过在Native侧获取ArkTS侧Promise对象来实现。具体步骤如下:
a. 调用Native接口时,传入callback回调。在该回调中通过构造函数创建Promise对象;
b. 在Promise构造函数的参数回调中,实现异步操作,并根据操作结果,调用resolve或者reject接口,用以对Promise对象进行状态迁移。
a. 定义Promise对象then属性的回调方法,用以处理ArkTS侧异步计算结果;
b. 定义Promise对象catch属性的回调方法,用以处理ArkTS侧异步计算异常信息;
c. 在Native接口实现中,通过napi_call_function接口执行ArkTS侧传入的callback回调,获取Promise对象;
d. 通过napi_get_named_property接口获取Promise对象中的then和catch属性;
e. 通过napi_create_function接口将上述定义的then和catch属性C++回调方法转换为ArkTS函数对象;
f. 通过napi_call_function接口执行then和catch属性对应ArkTS函数对象,用以处理ArkTS侧的异步计算结果和异常信息。类似于在ArkTS侧调用promise.then(()=>{}和promise.catch(()=>{}。
具体可参考以下示例代码:
(一)ArkTS侧实现
(二)Native侧实现
运行结果