【发布时间】:2017-06-29 05:21:09
【问题描述】:
我刚刚发现写入完成块不会运行,直到写入尚未持久化到 firebase 服务器。有什么方法可以在 firebase 中监听成功的本地数据写入?
【问题讨论】:
-
您打算如何对本地写入完成作出反应?我认为您可以期望从数据库中读取的所有后续数据都将显示新数据,而不必担心数据的确切来源(内存或磁盘)。
我刚刚发现写入完成块不会运行,直到写入尚未持久化到 firebase 服务器。有什么方法可以在 firebase 中监听成功的本地数据写入?
【问题讨论】:
正如用于将数据写入 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!");
}
}
});
希望对你有帮助。
【讨论】: