napi data释放问题 ,在调用napi_call_threadsafe_function 时,最后一个参数传入了void *data

在调用napi_call_threadsafe_function 时,最后一个参数传入了void *data,

在调用napi_release_threadsafe_function之后,队列中没有执行的任务无法释放这些data,这个有什么好的方式来释放


HarmonyOS
2024-05-10 21:53:49
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
towerwan

建议在napi_call_threadsafe_function 调用完promis 后delete data, CallJs_func 不delete

args = (void *)args_st; 
napi_status status = napi_call_threadsafe_function(callbackData->tsfn, args, napi_tsfn_nonblocking); 
if (status != napi_ok) { 
  delete args_st; 
  return std::pair<int, int32_t>(status, int32_t()); 
} 
int32_t ret; 
if (sync == MNAPI_SYNC) { 
  ret = promise_ret.get_future().get(); 
} 
 
args.syncFlag = sync // 区分下同步异步 
args = (void *)args_st; 
napi_status status = napi_call_threadsafe_function(callbackData->tsfn, args, napi_tsfn_nonblocking); 
if (status != napi_ok) { 
  delete args_st; 
  return std::pair<int, int32_t>(status, int32_t()); 
} 
int32_t ret; 
if (sync == MNAPI_SYNC) { 
  ret = promise_ret.get_future().get(); 
 
}
分享
微博
QQ
微信
回复
2024-05-11 11:15:54
相关问题
undefined symbol napi_create_threadsafe_function
3009浏览 • 1回复 待解决
NAPI跨线程调用TS线程函数
446浏览 • 1回复 待解决
Data Guard Kit权限获取
826浏览 • 1回复 待解决
event.data.isRequestGesture()返回值问题
411浏览 • 1回复 待解决
NAPI执行上层回调,如何获取env
957浏览 • 1回复 待解决
mysql load data infile
2130浏览 • 1回复 待解决
关于clog和data问题有知道的吗?
2154浏览 • 1回复 待解决
判断一个参数是不是Resource类型
54浏览 • 1回复 待解决