HarmonyOS ArkTS如何不使用await/async把异步方法改为同步方法?

现有的H5有些交互方法需要触发到原生端执行(其中包括异步方法),并将结果返回给H5,交互方法为同步,在HarmonyOS侧实现时,针对异步方法(比如getCurrentBundleStats方法只提供了异步方法),要加await才行,但这样会改变方法,得把同步的方法改为异步,请问有没有其他方法?

checkDataInfo(brokerBridge): string { 
   const methodA = Reflect.get(brokerBridge, 'getDeviceInfoA'); 
   if (typeof methodA === 'function') { 
     let params: string | null = null; 
     const resultA = methodA.call(brokerBridge, params); 
     console.log(resultA); 
   } 
   let resultDataB = ''; 
   const methodB = Reflect.get(brokerBridge, 'getDeviceInfoB'); 
   if (typeof methodB === 'function') { 
     let params: string | null = null; 
     const resultB = methodB.call(brokerBridge, params); 
     if (Promise.resolve(resultB) === resultB) { 
       console.log('Promise对象'); 
       // 不能使用await,会让checkDataInfo变为异步 
       resultB.then((result: string) => { 
         console.log(result); 
         //todo 如何返回resultDataB值(不能将checkDataInfo方法改成异步) 
         resultDataB = result; 
       }); 
     } else { 
       console.log('非Promise对象'); 
       return resultB; 
     } 
   } 
   // 如何等待resultDataB被赋值 
   return resultDataB; 
 }
HarmonyOS
2024-11-04 11:56:07
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get
分享
微博
QQ
微信
回复
2024-11-04 16:10:56
相关问题
ArkTs异步方法如何转变成同步方法
2425浏览 • 0回复 待解决
HarmonyOS 使用asyncawait 的含义
99浏览 • 1回复 待解决
JS中如何使用Promise和async await
700浏览 • 1回复 待解决
api异步方法提供同步api需求
245浏览 • 1回复 待解决
HarmonyOS await sleep方法
30浏览 • 1回复 待解决
Promise 与 Async/Await 的比较
504浏览 • 1回复 待解决
如何将this的指向改为方法
475浏览 • 1回复 待解决
C++同步ArkTS里面的方法
1151浏览 • 1回复 待解决
HarmonyOS异步await不起作用
456浏览 • 1回复 待解决
HarmonyOS 如何方法同步
43浏览 • 0回复 待解决
如何选择使用同步接口还是异步接口
2184浏览 • 1回复 待解决
HarmonyOS 同步清除cookie推荐方法
24浏览 • 1回复 待解决