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