Sobes.tech
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 архитектурасында асинхронды басқаруды қауіпсіз және тиімді етеді.