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
116浏览 • 1回复 待解决
NAPI执行上层回调时,如何获取env
374浏览 • 1回复 待解决
什么时候荣耀更新鸿蒙
4889浏览 • 1回复 待解决
鸿蒙系统什么时候公测?
5627浏览 • 2回复 待解决
undefined symbol napi_create_threadsafe_function
2338浏览 • 1回复 待解决
荣耀手机什么时候更新
5950浏览 • 3回复 待解决
鸿蒙系统什么时候上线?
7357浏览 • 1回复 待解决
napi_module结构体字段描述解析
330浏览 • 1回复 待解决
延迟任务什么时候会执行
281浏览 • 1回复 待解决
什么时候可以安装鸿蒙系统?
7360浏览 • 1回复 待解决
猎人游戏本什么时候更新
4488浏览 • 1回复 待解决
DevEco Studio什么时候开始支持linux
7082浏览 • 1回复 待解决
arkts 什么时候可以实现模糊效果
1329浏览 • 1回复 待解决
mysql的grant命令什么时候使用?
538浏览 • 1回复 待解决
Native如何通过napi获取ArrayBuffer?
1423浏览 • 1回复 待解决
荣耀三十什么时候升级鸿蒙系统
7061浏览 • 3回复 待解决
提问
该提问已有0人参与 ,帮助了0人