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