我正在尝试在Android上运行我的应用程序(一加6t)。在调用Firebase之前,这工作正常,但是一旦我将线路onSend={Fire.shared.send}
添加到Chat.js,应用程序就会崩溃。日志仅显示未捕获的错误:调用 JSTimers.CallTimers 时出错。在其他任何地方都没有看到此错误。有谁知道问题出在哪里?
这是零食:https://snack.expo.io/@adititipnis/community
如果在将 JS 对象发送到本机端时省略了 await 调用,则可能会收到此错误,因此传递承诺而不是结果。
我正在使用包装 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()
});
如果您不知道要查找的内容,这可能很难追踪。我诉诸于消除过程,逐个文件还原更改,直到找到有问题的行。希望这可以节省一些时间。