У меня интересная проблема. Мне нужно поработать сразу после вставки, но viewModelScope случайным образом или, по крайней мере, выглядит случайным образом, пропускает функции, кроме первой.
Пример:
fun insertItem(item: SingleItem) = viewModelScope.launch {
itemsRepository.insertItem(item)
increaseAmount(item.catId)
}
Итак, в этом Пример: все работает нормально только после установки fre sh приложения, но затем при следующем запуске приложения вторая функция «УвеличитьСумма» будет случайно пропущена, и я не знаю почему. И неважно, что будет после первой функции. Я пробовал простой «Журнал», и он тоже пропускается. Это нормально для viewModelScope?
РЕДАКТИРОВАТЬ Проверено на исключения. Вторая функция выдает исключение, что задание было отменено:
kotlinx.coroutines.JobCancellationException: Job was cancelled; job=SupervisorJobImpl{Cancelling}@2d87ff
Кроме того, в моем фрагменте это вызывается так:
viewModel.insertItem(newItem)
root.findNavController().popBackStack()
Итак, после вызова этой функции я go назад к предыдущему фрагменту. Возможно ли, что viewModel будет уничтожен до того, как закончит выполнение всей работы?