【问题标题】:How do we know if data was successfully written in Firebase local datastore?我们如何知道数据是否已成功写入 Firebase 本地数据存储区?
【发布时间】:2017-06-29 05:21:09
【问题描述】:

我刚刚发现写入完成块不会运行,直到写入尚未持久化到 firebase 服务器。有什么方法可以在 firebase 中监听成功的本地数据写入?

【问题讨论】:

  • 您打算如何对本地写入完成作出反应?我认为您可以期望从数据库中读取的所有后续数据都将显示新数据,而不必担心数据的确切来源(内存或磁盘)。

标签: android ios firebase


【解决方案1】:

正如用于将数据写入 Firebase 的 offical doc 所说,是的,您可以添加 Completion Listener。如果需要,setValue()updateChildren() 方法都采用可选的 Completion Listener,当写入已提交到数据库时调用。

所以要实现这一点,请使用以下代码:

yourRef.setValue("Writing Data!", new Firebase.CompletionListener() {
    @Override
    public void onComplete(FirebaseError firebaseError, Firebase firebase) {
        if (firebaseError != null) {
            System.out.println("Data couldn't be saved! " + firebaseError.getMessage());
        } else {
            System.out.println("Data was saved successfully!");
        }
    }
});

希望对你有帮助。

【讨论】:

  • 问题是询问是否有可能知道写入何时完成本地,而完成侦听器会在数据同步远程时触发。我认为在这种情况下,提问者启用了持久性。
  • 感谢@DougStevenson 的解释。
猜你喜欢
  • 2012-04-17
  • 1970-01-01
  • 2018-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-20
  • 2014-03-18
相关资源
最近更新 更多