Невозможно отправить в канал Coroutines
Я практикую Coroutines Channel, и мне интересно, почему репозиторий.getAllRates() не срабатывает, даже если мой код достигает sellCurrencyChannel.send(CurrencyRate("", 0.0))? Я также подозреваю, что sellCurrencyChannel.send() не удалось.
private val sellCurrencyChannel = Channel<CurrencyRate>()
val sellCurrency = sellCurrencyChannel.receiveAsFlow()
val sellAmount: LiveData<Double>? = null
val allUserBalance = repository.getAllUserBalance()
.flatMapLatest {
if (it.isNullOrEmpty()) {
repository.setUserBalance(
UserBalance(
"EUR",
1000.0
)
)
} else {
viewModelScope.launch {
sellCurrencyChannel.send(CurrencyRate("", 0.0))
}
}
return@flatMapLatest repository.getAllUserBalance()
}
.stateIn(
viewModelScope,
SharingStarted.Lazily,
null
)
val allRates = sellCurrency.flatMapLatest { sellCurrency ->
repository.getAllRates(
sellCurrency.currency,
onAPISuccess = {
},
onAPIFailed = {
viewModelScope.launch {
eventChannel.send(Event.ShowErrorMessage(it))
}
}
)
}.stateIn(viewModelScope, SharingStarted.Lazily, null)