Как вернуть ссылку на вновь созданный документ из репозитория в ViewModel на Java?Android

Форум для тех, кто программирует под Android
Anonymous
Как вернуть ссылку на вновь созданный документ из репозитория в ViewModel на Java?

Сообщение Anonymous »

Когда я создаю новый документ в репозитории, используя data.collection("Groups").document(id).set(group), и пытаюсь вернуть ссылку на документ, выполнив data.collection("Groups" .document(id), ссылаясь на вновь созданный документ, я не могу получить документ, поскольку Firebase Firestore работает асинхронно, из-за чего .set все еще добавляет новый документ, и я непреднамеренно возвращаю ссылку на документ перед ним.
Что я пробовал
  • Возврат LiveData из репозитория, но это не задача репозитория
    Добавлен LiveData в ViewModel, но ViewModel не должен изменять базу данных (путем добавления нового документа сюда, в базу данных Firestore).
  • Видел Task.await, но он блокирует основной поток
Я ожидаю вернуть DocumentReference из репозитория в ViewModel, чтобы я мог опубликовать его значение в своих MutableLiveData в ViewModel

Подробнее здесь: https://stackoverflow.com/questions/790 ... ository-to

Вернуться в «Android»