写点什么

如何从 native 层的子线程同步调用 ArkTS 方法并获取返回值?

  • 2026-02-27
    北京
  • 本文字数:282 字

    阅读完需:约 1 分钟

本问答帖原创发布在华为开发者联盟社区 ,欢迎开发者前往论坛提问交流。

问题描述:

如题,我在 napi 的代码中创建了一个线程,希望调用 ArkTS 的方法,并能够同步获取 ArkTS 方法的返回值,有什么办法吗?

我现在有了解到 napi_create_threadsafe_function,但这个似乎是异步的,无法同步获取返回值

解决方案:

可以使用以下方案:

1.调用线程安全函数时传 promise,

2.回调函数(CallJs)里面把结果赋值给 promise,

3.子线程获取返回值后,继续处理后续业务。

参考 demo、详细解决方案以及相关的讨论,请点击原帖查看:

如何从native层的子线程同步调用ArkTs方法,并获取返回值-华为开发者问答 | 华为开发者联盟 (huawei.com)