在C++回调时,如何阻塞TS主线程?
有一个回调是在C++ 主线程返回的,这个回调需要一个返回值,这个返回值需要通过网络请求获取,网络请求是异步的方法,使用会导致C++回调方法没办法拿到这个返回值。
C++:
func1(){ 
  CallFunction(“getxx”,{arg}); 
}TS:
getxx{ 
  let result = 网络请求(异步方法); 
  return result; 
}因为网络请求是异步执行,没办法给C++回调添加async,会导致return的result没有值。
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 在Native层使用IPC Kit时,如何管理线程以避免阻塞主线程?是否提供线程池或异步回调机制? 
623浏览  • 0回复 待解决
HarmonyOS C++线程调用回调函数返回arkUI时,可以将ArkTS代码的回调处理跑在C++线程吗 
924浏览  • 1回复 待解决
如何为 C++ 提供回调函数? 
3878浏览  • 1回复 待解决
HarmonyOSNDK开发时, C++主子线程之间,高频率使用线程安全函数进行通信,是否会造成主线程阻塞而崩溃 
1447浏览  • 1回复 待解决
C++子线程回调中同步获取ArkTS处理结果 
1362浏览  • 1回复 待解决
类似CallStateObserver中的回调,是在app主线程,还新的线程中? 
6502浏览  • 1回复 待解决
有没有从ts设置回调到c++层,然后c++再回调到ts的示例代码? 
2105浏览  • 1回复 待解决
HarmonyOS 如何在ArkTS中向C++层注册回调,C++层如何调用回调方法? 
2506浏览  • 1回复 待解决
HarmonyOS  libuv实现的timer,在主线程执行没有回调,在子线程可以正常使用 
1515浏览  • 1回复 待解决
HarmonyOS C++自创线程如何回调到ArkTS应用中? 
1250浏览  • 1回复 待解决
c++模块在UI主线程如何进行消息循环?是libuv事件驱动么? 
1512浏览  • 1回复 待解决
Native侧获取env具有线程限制,如何在C++子线程触发ArkTS侧回调 
3418浏览  • 1回复 待解决
HarmonyOS taskPool执行的task内如何回调主线程的方法 
1950浏览  • 1回复 待解决
HarmonyOS C++的异步通知如何回调给ArkTS的线程? 
1615浏览  • 1回复 待解决
#鸿蒙通关秘籍# 如何避免主线程被非UI任务阻塞? 
1412浏览  • 1回复 待解决
ts给c++传递数组,c++层如何解析 
3188浏览  • 1回复 待解决
HarmonyOS safetyDetect.checkSysIntegrity(req)方法阻塞主线程 
690浏览  • 1回复 待解决
HarmonyOS 在native侧开发,c++多线程开发中,子线程中如何丢一个任务到主线程中执行 
974浏览  • 1回复 待解决
延迟任务回调onWorkStart和onWorkStop是运行在主线程吗 
2742浏览  • 1回复 待解决
HarmonyOS ArkTS开发中,异步回调,怎么切到主线程执行呢 
2402浏览  • 1回复 待解决
HarmonyOS中使用async为什么不会阻塞主线程? 
1038浏览  • 0回复 待解决
HarmonyOS 大量数据处理导致主线程阻塞问题 
1081浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS的Native进程中避免阻塞主线程? 
1161浏览  • 1回复 待解决
HarmonyOS 有没有类似的主线程提供一个idle的时机,类似主线程不繁忙的时候的回调。 
853浏览  • 1回复 待解决





















建议在c++ 通过napi_create_threadsafe_function创建安全线程函数,通过napi_create_async_work创建异步函数,napi_call_function调用异步方法可参考: