gpt4 book ai didi

android - Android 项目中的 SharedFlow 无法按预期工作

转载 作者:行者123 更新时间:2023-12-04 23:55:59 24 4
gpt4 key购买 nike

我试图使用 sharedFlow 将事件从 UI 传递到 viewModel
这是我的 View 模型类

class MainActivityViewModel () : ViewModel() {
val actions = MutableSharedFlow<Action>()
private val _state = MutableStateFlow<State>(State.Idle)
val state: StateFlow<State> = _state

init {
viewModelScope.launch { handleIntents() }
}

suspend fun handleIntents() {
actions.collect {
when (it) {...}
}
}
}
这就是我发出 Action 的方式
private fun emitActions(action: Action) {
lifecycleScope.launch {
vm.actions.emit(action)
}
}
第一次发射按预期发生,但随后它没有从 View 模型发射/收集。
我在这里做错什么了吗?

最佳答案

当我使用 collectLatest()而不是 collect()它按预期工作

关于android - Android 项目中的 SharedFlow 无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68044173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com