Middle — Middle+
Ako implementovať asynchrónne operácie s použitím korutín v architektúre ViewModel?
sobes.tech AI
Odpoveď od AI
Для реализации асинхронных операций в ViewModel с использованием корутин обычно применяют viewModelScope, который автоматически отменяет корутины при уничтожении ViewModel.
Пример:
class MyViewModel : ViewModel() {
fun loadData() {
viewModelScope.launch {
val data = fetchDataFromNetwork() // suspend функция
// обновление UI через LiveData или StateFlow
}
}
}
Здесь launch запускает корутину в контексте ViewModel, позволяя выполнять долгие операции без блокировки основного потока. Это обеспечивает безопасное и эффективное управление асинхронностью в архитектуре MVVM.