J'ai 2 flux d'état dans mon viewModel. Pour les collecter en fragment, je dois lancer Coroutines 2 fois comme ci-dessous:
lifecycleScope.launchWhenStarted {
stocksVM.quotes.collect {
if (it is Resource.Success) {
it.data?.let { list ->
quoteAdapter.submitData(list)
}
}
}
}
lifecycleScope.launchWhenStarted {
stocksVM.stockUpdate.collect {
log(it.data?.data.toString())
}
}
Si j'ai plus de flux d'état, je dois lancer des corouts respectivement. Y a-t-il une meilleure façon de gérer plusieurs flux d'état dans mon fragment/activité ou où?
Si quelqu'un se demande comment émettre plusieurs flux dans le même bloc de viewModelScope.launch
, c'est la même chose que la réponse de Robert. I.e comme suit
viewModelScope.launch {
launch {
exampleFlow1.emit(data)
}
launch {
exampleFlow2.emit(data)
}
}