大佬教程收集整理的这篇文章主要介绍了为什么在android中调用本机模块后js事件循环冻结(react-native),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
renderUI();
emmitReactNativeEvent();
@H_874_2@ReactNative.ts
const sleep = (time: number) => {
return new Promise((resolvE) => setTimeout(resolve,timE))
}
emmiter.on('react-native-event',() => {
console.log('InsIDe-Before');
sleep(1000);
console.log('InsIDe-After');
JavaSDK.finish();
}
JavaSDK.init();
@H_874_2@当我执行 ReactNative.ts 脚本时,我观察到了奇怪的行为。
@H_874_2@执行是这样的:
setTimeout()
和 seTinterval()
似乎根本不起作用。回调在打印 InsIDe-Before
时被调用,但随后卡在 sleep()
上并且永远不会完成......
@H_874_2@我还尝试将 seTinterval()
与一些控制台日志一起使用并在运行 JavaSDK 之前调用它...一旦 SDK 被初始化,控制台日志就会停止打印 - 似乎 seTinterval()
已暂停...但是在 JavaSDK 完成后,控制台日志恢复...
@H_874_2@知道发生了什么吗?我该如何解决。我希望能够在我的回调中使用 setTimeout
以上是大佬教程为你收集整理的为什么在android中调用本机模块后js事件循环冻结(react-native)全部内容,希望文章能够帮你解决为什么在android中调用本机模块后js事件循环冻结(react-native)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。