Sobes.tech
Middle — Middle+

Hoe implementeer je asynchrone operaties met behulp van coroutines in de ViewModel-architectuur?

sobes.tech AI

Antwoord van AI

Om asynchrone operaties in ViewModel te implementeren met behulp van coroutines, wordt gewoonlijk viewModelScope gebruikt, dat automatisch de coroutines annuleert bij het vernietigen van de ViewModel.

Voorbeeld:

class MyViewModel : ViewModel() {
    fun loadData() {
        viewModelScope.launch {
            val data = fetchDataFromNetwork() // suspend functie
            // UI bijwerken via LiveData of StateFlow
        }
    }
}

Hier start launch een coroutine in de context van de ViewModel, waardoor het mogelijk is om lange operaties uit te voeren zonder de hoofdthread te blokkeren. Dit zorgt voor een veilige en efficiënte beheer van asynchroniteit in de MVVM-architectuur.