две операции вставка в бд (suspend fun) и получение данных из этой же бд(в виде flow). Я правильно понимаю, что launch гарантирует последовательно выполнение, сначала данные добавятся, а уже после произойдёт их получение, так?
Да, весь твой скоуп просто выполниться в другом потоке
Спасибо за ответ, просто были опасения что извлечение данных может произойти раньше. viewModelScope.launch { insertProjectUseCase.invoke(projectUI.toProject()) getAllProjectsUseCase.invoke().collect { _stateFlow.value = _stateFlow.value.copy(projectList = it.map { project -> project.toProjectUI() }) } }
Обсуждают сегодня