在使用Cloud Firestore数据库进行Android开发的情况下,我正在编写DAO类的方法get(int id) : MyDO
。由于在Firestore中,所有操作都是异步的,因此使用return MyDO
对象必须考虑到这一异步方面。
第一个解决方案是回调。我正在编写的方法get
可以接受一个回调参数(作为第二个参数),在该参数中,我会将代码放入使用对象get
的对MyDO
的调用中。但是,我不想要它。
我对诺言甚至await/async
有所了解。这些概念在这种情况下有用吗?
答案 0 :(得分:2)
在Java和await / async中都没有诺言,只有在Javascript中才能找到。更多信息here。
在Android中,它不返回Promise
,而是重新运行Task。
因此,如果您不想使用custom callback,则可以考虑使用以下解决方案: