DJ-*_*-ST 4 android firebase google-cloud-firestore
我正在尝试同时向Firestore发送多个请求。我需要一次检索多个对象,当前无法用一个对象进行请求Query
,因为它们位于单独的位置,并且Firestore尚不具有查询多个位置或等价于IN
运算符的功能SQL
。
我从这个问题中知道,通过使用查询而不是反复观察单个事件来加快获取社交网络应用程序的帖子的速度,Firebase可以将查询管道化,因为它使用一个连接,但是我找不到任何有关如何在android中这样做的内容。
那么,如何在Android中正确地传递Firestore请求?
如果只想一次获取一堆文档(而不是听更改),则只需要在想要的每个DocumentReference上使用get()方法。每个对get()的调用都返回一个Task,该Task的侦听器将与结果一起调用。一个任务就像是一个未来或一个JavaScript的承诺-这是什么游戏Services使用异步编程。
如果要等到所有对get的调用完成后,只需将所有那些Task对象收集在一个List中,然后将其传递给Tasks.whenAll()即可知道何时完成所有操作。这将返回另一个仅在所有其他任务成功之后才成功的任务。然后,您可以执行所有其他任务以获取文档内容。
您还应该知道,您正在使用的代码将侦听器设置为文档中的更改,并且当服务器上的文档更改时,它们将继续触发。如果不删除这些侦听器,则会招致额外的数据费用,并且还会泄漏侦听器。
归档时间: |
|
查看次数: |
278 次 |
最近记录: |