Java 等待Firebase实时数据库查询的结果
我目前正在使用Java 等待Firebase实时数据库查询的结果,java,android,firebase-realtime-database,Java,Android,Firebase Realtime Database,我目前正在使用addListenerForSingleValueEvent方法从本地缓存中检索DataSnapshot,如下所述:。以前,我使用Room并执行callables来查询本地sqlite数据库,使用Executors.newSingleThreadExecutor().submit(callable).get(),允许我将结果存储在变量中并直接使用它。我似乎找不到一种使用Firebase的方法。有没有一种方法可以在其他语言中使用类似于await语法的功能来等待,直到我从本地缓存中获得
addListenerForSingleValueEvent
方法从本地缓存中检索DataSnapshot
,如下所述:。以前,我使用Room并执行callables来查询本地sqlite数据库,使用Executors.newSingleThreadExecutor().submit(callable).get()
,允许我将结果存储在变量中并直接使用它。我似乎找不到一种使用Firebase的方法。有没有一种方法可以在其他语言中使用类似于await
语法的功能来等待,直到我从本地缓存中获得结果?我认为您希望在收到快照后执行一些代码。但是在firebase中没有类似于await
的东西,但您可以通过将代码放入addOnCompleteListener
获取快照后要执行的操作。数据是从Firebase(以及大多数现代云API)异步加载的。任何需要数据的代码都需要在onDataChange
方法中,或者从那里调用。请参阅我链接的问题的答案,以获取一些示例。谢谢,我认为您使用回拨的答案是我能得到的最接近的答案。