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
116浏览 • 1回复 待解决
ArkTS 可以使用 console 打印日志
1144浏览 • 1回复 待解决
NAPI执行上层回调时,如何获取env
374浏览 • 1回复 待解决
c++可以直接调用tsstatic方法
248浏览 • 1回复 待解决
Push是否可以使用自己运维平台?
135浏览 • 1回复 待解决
TaskPool里面是否可以使用EventHub
294浏览 • 1回复 待解决
ArkTS可以使用Toast
1916浏览 • 1回复 待解决
鸿蒙有很好画图功能可以使用
759浏览 • 1回复 已解决
ArkTS内可以使用for循环
2399浏览 • 1回复 已解决
ArkTS上可以使用DataAbility功能
293浏览 • 1回复 待解决
appsettings.json里可以使用变量
720浏览 • 1回复 待解决