我正在尝试在Android(一加6t)上运行我的应用。在调用firebase之前,此方法工作正常,但是一旦我在Chat.js中添加行onSend={Fire.shared.send}
,应用程序便崩溃了。日志仅显示未捕获的错误:调用JSTimers.CallTimers 时出错。在其他任何地方都没有看到此错误。有谁知道这是什么问题?
答案 0 :(得分:0)
如果在将JS对象发送到本机端时省略了await调用,则会收到此错误,因此会传递promise而不是结果。
我正在使用包装setTimeout的典型异步睡眠模式,因此我不确定,这也可能是导致此错误出现的一种方式。
这未经测试,但是类似这样的东西应该可以重现:
// some async func
const asyncGetResult = async () => {
await sleep(17);
// etc.
return Promise.resolve(result);
};
// this should cause the error:
MyNativeComponent.nativeMethod({
result: asyncFunc() // <- missing 'await'
});
// this should not cause the error:
MyNativeComponent.nativeMethod({
result: await asyncFunc()
});
如果您不知道要查找的内容,可能很难找到。我求助于消除的过程,逐个文件地还原更改,直到找到有问题的行。希望这可以节省一些时间。