Как вернуть ссылку на вновь созданный документ из репозитория в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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