Sobes.tech
Middle — Middle+

ViewModel memarlığında korutinlərdən istifadə edərək asinxron əməliyyatları necə həyata keçirmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Для реализации асинхронных операций в ViewModel с использованием корутин обычно применяют viewModelScope, который автоматически отменяет корутины при уничтожении ViewModel.

Пример:

class MyViewModel : ViewModel() {
    fun loadData() {
        viewModelScope.launch {
            val data = fetchDataFromNetwork() // suspend функция
            // обновление UI через LiveData или StateFlow
        }
    }
}

Здесь launch запускает корутину в контексте ViewModel, позволяя выполнять долгие операции без блокировки основного потока. Это обеспечивает безопасное и эффективное управление асинхронностью в архитектуре MVVM.