gpt4 book ai didi

java - 如果几秒钟后仍未完成,则取消 firebase 上传

转载 作者:行者123 更新时间:2023-12-02 09:54:34 28 4
gpt4 key购买 nike

我将一个 int 上传到 firebase。如果第一次尝试后上传未完成,短时间内(几秒钟)它应该取消上传。

现在的情况是,当您上传值时,但没有互联网连接,它会等到连接再次工作并上传值。例如,这可能是 30 分钟后。

问题是这个上传的值对于我的目的来说已经过时了。如果第一次尝试后未完成上传,我需要取消上传。我怎样才能做到这一点?

mDatabase = FirebaseDatabase.getInstance().getReference().child("Survey").child("Solution1").child("Result");
mDatabase.setValue(i1);

最佳答案

正如 Doug 所说,一旦特定写入进入队列,就无法取消该写入。

我可以想到两种方法来实现(或至少近似)您的用例:

  1. 在对写入进行排队之前检测客户端是否连接到 Firebase 后端。您可以使用 .info/connected 节点的额外监听器来实现此目的,如 detecting connection state 上的文档所示。 。只需有一个顶级监听器,然后在调用 setValue() 之前检查最新值是什么。
  2. 您可以通过调用 FirebaseDatabase.getInstance().purgeOutstandingWrites() 清除所有挂起的写入操作。因此您可以在调用 setValue() 之前调用它。

或者:考虑只让多个写入通过。服务器通常会快速连续地处理它们,甚至可能不会将过时的发送给客户端。

关于java - 如果几秒钟后仍未完成,则取消 firebase 上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56093452/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com