我正在通过MyRepository.myConflatedChannel.offer(myvalue)
发送值。
然后我希望在ViewModel的collect { }
或onEach { }
块中接收它。但是,两个函数都不被调用。好像什么都没有沿着ConflatedBroadcastChannel传递。
有人看到过类似的问题吗?
注意,consume
和consumeEach
是终端,它们执行一个动作,然后在执行块后取消通道。参见this。
第一种情况:
val receivingChannel = MyRepository.myConflatedChannel.openSubscription()
// then you can consume values using for example a for loop, e.g.:
launch {
for (value in receivingChannel) {
// do something
}
}
第二种情况:
val receivingFlow = MyRepository.myConflatedChannel.asFlow()
launch {
receivingFlow.collect {
// do something
}
}