返回由异步方法返回的对象

时间:2019-02-23 16:25:45

标签: java android firebase asynchronous google-cloud-firestore

在使用Cloud Firestore数据库进行Android开发的情况下,我正在编写DAO类的方法get(int id) : MyDO。由于在Firestore中,所有操作都是异步的,因此使用return MyDO对象必须考虑到这一异步方面。

第一个解决方案是回调。我正在编写的方法get可以接受一个回调参数(作为第二个参数),在该参数中,我会将代码放入使用对象get的对MyDO的调用中。但是,我不想要它。

我对诺言甚至await/async有所了解。这些概念在这种情况下有用吗?

1 个答案:

答案 0 :(得分:2)

在Java和await / async中都没有诺言,只有在Javascript中才能找到。更多信息here

在Android中,它不返回Promise,而是重新运行Task

因此,如果您不想使用custom callback,则可以考虑使用以下解决方案: