React Native:调用JSTimers.CallTimers时出错

时间:2019-01-30 06:07:42

标签: android firebase react-native react-native-android expo

我正在尝试在Android(一加6t)上运行我的应用。在调用firebase之前,此方法工作正常,但是一旦我在Chat.js中添加行onSend={Fire.shared.send},应用程序便崩溃了。日志仅显示未捕获的错误:调用JSTimers.CallTimers 时出错。在其他任何地方都没有看到此错误。有谁知道这是什么问题?

这是小吃:https://snack.expo.io/@adititipnis/community

1 个答案:

答案 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()
});

如果您不知道要查找的内容,可能很难找到。我求助于消除的过程,逐个文件地还原更改,直到找到有问题的行。希望这可以节省一些时间。