init中的env是否可以缓存,native层会将接收到的消息传递到ts侧需要env,请问可以使用init中的env吗?

init中的env是否可以缓存,native层会启动线程接受网络消息,将接收到的消息传递到ts侧需要env,请问可以使用init中的env吗?

HarmonyOS
2024-04-28 22:30:34
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

文档中是禁止缓存env的:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/napi-data-types-interfaces-0000001820880433#ZH-CN_TOPIC_0000001820880433__napi_env

禁止缓存的原因是:如果是跨线程,除了主线程env,其他env都是不可信的,不知道什么时候挂掉。如果只在主线程使用,可以缓存。

napi_threadsafe_function的示例可参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/use-napi-thread-safety-0000001774280466

分享
微博
QQ
微信
回复
2024-04-29 15:23:28
相关问题
为什么禁止缓存napi_env
1073浏览 • 1回复 待解决
NAPI执行上层回调时,如何获取env
2284浏览 • 1回复 待解决
如何在NAPI执行上层回调时获取env
356浏览 • 1回复 待解决
ArkTS 可以使用 console 打印日志
3208浏览 • 1回复 待解决
TS如何批量传递函数到native
988浏览 • 1回复 待解决
c++可以直接调用tsstatic方法
2155浏览 • 1回复 待解决
ArkTS可以使用Toast
3959浏览 • 1回复 待解决