Middle — Middle+
Kako implementirati asinhrone operacije koristeći korutine u arhitekturi ViewModel?
sobes.tech АИ
Одговор од АИ
Для реализации асинхронных операций в ViewModel с использованием корутин обычно применяют viewModelScope, который автоматически отменяет корутины при уничтожении ViewModel.
Пример:
class MyViewModel : ViewModel() {
fun loadData() {
viewModelScope.launch {
val data = fetchDataFromNetwork() // suspend функция
// обновление UI через LiveData или StateFlow
}
}
}
Здесь launch запускает корутину в контексте ViewModel, позволяя выполнять долгие операции без блокировки основного потока. Это обеспечивает безопасное и эффективное управление асинхронностью в архитектуре MVVM.