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
按赞同
/
按时间
放大电路
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
1073浏览 • 1回复 待解决
NAPI执行上层回调时,如何获取env
2284浏览 • 1回复 待解决
如何在NAPI执行上层回调时获取env
356浏览 • 1回复 待解决
HarmonyOS 页面什么时候注册?
260浏览 • 1回复 待解决
鸿蒙系统什么时候公测?
7719浏览 • 2回复 待解决
LocalStorage什么时候被释放?
383浏览 • 1回复 待解决
HarmonyOS 什么时候支持iconfont?
290浏览 • 1回复 待解决
什么时候荣耀更新鸿蒙
6571浏览 • 1回复 待解决
荣耀手机什么时候更新
7497浏览 • 3回复 待解决
鸿蒙系统什么时候上线?
9010浏览 • 1回复 待解决
猎人游戏本什么时候更新
6073浏览 • 1回复 待解决
延迟任务什么时候会执行
1692浏览 • 1回复 待解决
什么时候可以安装鸿蒙系统?
9123浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人