export const getUserToken = () => {
let result = '';
setupWebViewJavascriptBridge((bridge) => {
bridge.callHandler('fetchUserInfo', (data) => {
// 这一步是异步的,想请教改为同步的怎么写
result = data;
});
});
return result;
};
这是一段h5和iOS交互的方法,就是调用一个iOS方法,iOS返回一个参数回来,iOS的返回是用回调方法里返回的,调用这个方法还没等给result复制就直接返回默认的空字符串了,求各位大神指导怎么写才能返回正常取到的结果呢?
改成同步会有很大的性能问题,比如在你等待的那几秒钟页面完全卡死,做不了任何事。
根据你的需求,你需要改成回调的方式,把需要处理的事件传递进来,而不是想着把
result
返回出去,如果一定要返回,可能要用到那些async/await
,看你的环境支不支持了1.回调方式
2.
async/await
方式