napi_add_env_cleanup_hook 或者 napi_set_instance_data 在什么时候触发

napi_add_env_cleanup_hook 或者 napi_set_instance_data 的回调走不到, 想在node js环境销毁的地方加上对应的回收动作。

HarmonyOS
2024-05-10 22:35:40
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
jennyhan
napi_add_env_cleanup_hook 在env 析构的时候回调用。 
示例如下: 
关键代码; 
在默认的native C add 函数中 
static napi_value Add(napi_env env, napi_callback_info info) 
{ 
… 
auto func = [](void *) { OH_LOG_ERROR(LOG_APP, “====== call env clean up”); }; // 关键代码 
napi_add_env_cleanup_hook(env, func, nullptr); // 关键代码 
… 
2、new 个worker,然后worker 调用native ,这时候回生成env, worker close的时候回释放env 
workerPort.onmessage = (e: MessageEvents) => { 
  hilog.info(0, worker1, " === enter worker1, api :%{public}d ", 
    testNapi.add(3,5)); // 调用native 会生成js 线程的env 
 
  if (e.data.type == 0) { 
    workerPort.postMessage({ ‘type’: 2 }); 
    hilog.info(0, worker1, " === begin to end worker1 "); 
    workerPort.close() // close后不允许再使用,释放worker 会释放生成的env 
    return; 
  } 
} 
 
}
分享
微博
QQ
微信
回复
2024-05-11 11:29:40
相关问题
什么禁止缓存napi_env
577浏览 • 1回复 待解决
NAPI执行上层回调时,如何获取env
679浏览 • 1回复 待解决
什么时候荣耀更新鸿蒙
5230浏览 • 1回复 待解决
鸿蒙系统什么时候公测?
6003浏览 • 2回复 待解决
荣耀手机什么时候更新
6267浏览 • 3回复 待解决
鸿蒙系统什么时候上线?
7649浏览 • 1回复 待解决
NAPI介绍(九) - gdb调试
161浏览 • 1回复 待解决
napi 基本使用场景示例
421浏览 • 1回复 待解决
NAPI中定义并注册Class
306浏览 • 1回复 待解决
arkts 什么时候可以实现模糊效果
1673浏览 • 1回复 待解决
DevEco Studio什么时候开始支持linux
7358浏览 • 1回复 待解决
mysql的grant命令什么时候使用?
748浏览 • 1回复 待解决
延迟任务什么时候会执行
517浏览 • 1回复 待解决
什么时候可以安装鸿蒙系统?
7641浏览 • 1回复 待解决
猎人游戏本什么时候更新
4735浏览 • 1回复 待解决
Native如何通过napi获取ArrayBuffer?
1815浏览 • 1回复 待解决
napi常见用法:class对象绑定
423浏览 • 1回复 待解决
"NAPI通信耗时长"导致丢帧分析
155浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人