android - Flutter:Firestore 事务崩溃 Android 仿真
问题描述
我正在尝试使用 firestore 运行一个事务,该事务将增加一个投票计数器。我正在运行以下代码:
Firestore.instance.runTransaction((Transaction tx) async {
DocumentSnapshot postSnapshot = await tx.get(postRef);
if (postSnapshot.exists) {
//print(postSnapshot.data['Votes']);
await tx.update(postRef, <String, dynamic>{'Votes': postSnapshot.data['Votes'] + 1})
.catchError((e) {print(e);});
}
}).catchError((e) {
print(e);
});
有时,这可以正常工作,但有时它会导致我的 android 模拟器静默崩溃 - 应用程序关闭并且控制台显示Lost connection to device
. 这两个catchError
语句都没有打印,并且控制台没有输出。颤振医生报告没有问题。这在 iOS 上似乎不是问题,尽管由于错误是零星的,所以很难说。我的颤振版本是颤振(Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15.2 19C57, locale en-US)
有谁知道为什么会发生这种情况?这是颤振的问题还是我运行事务的方式有问题?任何帮助将不胜感激,谢谢!
解决方案
这可能很难。您没有提及 Android Studio 的版本以及您运行的 android 设备和操作系统版本。我建议尝试安装另一个虚拟设备并检查。在这里你有很好的 Mac教程。
如果这不起作用,则有一个用于对模拟器进行故障排除的页面,如果您在那里找不到问题,则可以报告错误。
祝你好运!
推荐阅读
- oracle - DML 触发器阻止用户通过 EBS 保存手动输入的数据
- c++ - 具有 0 或 1 个参数的结构中的 C++ 函数指针
- r - 在类似“egrep”的公式的 R 函数中组合两个数据帧
- javascript - 自动动画滚动到溢出其容器的元素的右侧?
- domain-driven-design - DDD 集合:在模型中包含版本控制
- java - 无法在泛型类型 T 上调用私有方法
- kubernetes - 部署在 Kubernetes 单节点自包含时的 Lagom App 错误
- apache-poi - apache poi 将 HH:mm:ss 字符串写入 Excel 时间数据类型
- javascript - Nodejs,观察类字段的变化
- vb.net - 回复:从两个列表框中删除所选项目