【问题标题】:How do I perform a transaction in firebase_database in Flutter?如何在 Flutter 的 firebase_database 中执行事务?
【发布时间】:2018-12-22 23:07:48
【问题描述】:

如何在 Flutter 中的 firebase_database 中执行原子读/写事务?

【问题讨论】:

  • 发布到 Stack Overflow 时,请不要发布代码和错误的图片。相反,最好将文本复制到问题中,这样更容易阅读和搜索。
  • Firebase 事务在 Flutter 中的工作方式与在其他语言中的工作方式相同。尝试从其他一种受支持语言的事务文档开始,以了解它们的工作原理。
  • 以上图片包含无法用文字描述的上下文,所有重要的代码都已经在文字中了。
  • 我知道如何在 JavaScript 中实现这一点,但我无法在这种情况下完成任务。
  • 最接近的可能是Android。各种对象和回调的语义不变。

标签: firebase firebase-realtime-database dart flutter


【解决方案1】:

事务是对 Firebase 实时数据库或 Cloud Firestore 中的一条数据的原子读/写。

Flutter 是一个使用 Dart 语言的移动开发框架。

这是在 Flutter 应用中使用 firebase_database 包执行事务的方式。

final dataRef = database.reference().child('path/to/data');

dataRef.runTransaction((MutableData transaction) async{
    transaction.value = (transaction.value ?? 0) + 1;
    return transaction;
});

【讨论】:

  • 我正在尝试这样做并得到一个错误,一些想法?:java.lang.RuntimeException:标有@UiThread的方法必须在主线程上执行。当前线程:FirebaseDatabaseWorker
猜你喜欢
  • 1970-01-01
  • 2020-08-17
  • 2020-07-31
  • 2018-05-04
  • 1970-01-01
  • 2021-06-20
  • 2012-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多