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