Возврат объекта, возвращенного асинхронным методом - PullRequest
0 голосов
/ 23 февраля 2019

В контексте разработки Android с использованием базы данных Cloud Firestore я пишу метод get(int id) : MyDO моего класса DAO.Поскольку в Firestore все операции являются асинхронными, использование возвращаемого значения, MyDO объекта, должно учитывать этот асинхронный аспект.

Первым решением будет обратный вызов.Метод get, который я пишу, может принять параметр обратного вызова (в качестве второго параметра), в который я поместил бы код при вызове get, который использует объект MyDO.Однако я не хочу этого.

Я немного знаю об обещаниях или даже await/async.Будут ли эти понятия полезны в этом контексте?

1 Ответ

0 голосов
/ 24 февраля 2019

В Java нет ни обещаний, ни await / async, только в Javascript вы можете найти это.Больше информации здесь .

В Android вместо возврата Promise он запускает Task .

Так что если вы не хотитечтобы использовать пользовательский обратный вызов , вы можете рассмотреть возможность использования следующего решения:

...