我想知道处理多个并行“读取操作”的最佳方法是什么,即在Firebase(基于Java / Android)中注册SingleValueEventListener并处理onDataChanged事件中的数据。假设我有三个不同的DatabaseReference位置,并且立即注册了三个监听器,
答案 0 :(得分:1)
无法(也不需要)将读取组合到单个请求中。 Firebase数据库客户端通过单个连接管道化请求。请参阅my answer here了解其工作原理以及为何解决大多数开发人员对往返性能的担忧。
由Promise.all()
处理的JavaScript代码。在Android中,您可以使用Task
来完成相同的操作。 Doug Stevenson写了一篇很棒的博客文章,我建议阅读详细信息:part 1,part 2,part 3(其中包含使用Continuation
的链接任务), part 4(最终使用Tasks.whenAll(...)
并行涵盖并行运行的任务)。