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