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