Kotlin 使用类似于RxJava中的“PublishSubject.onError”的共享流向下游传播异常
在kotlinKotlin 使用类似于RxJava中的“PublishSubject.onError”的共享流向下游传播异常,kotlin,kotlin-coroutines,kotlin-flow,Kotlin,Kotlin Coroutines,Kotlin Flow,在kotlinSharedFlow中,我们可以发出某些值,因此我声明: private val _state: MutableSharedFlow<State> = MutableSharedFlow() val state = _state.asSharedFlow() 但这看起来更像是退后一步 另一个选择是忘记抛出异常和传递错误代码,但为了与我的应用程序的其他部分保持一致,我想在这个流中传播错误 使用SharedFlow实现RxJavaonError的等效功能的正确方法是什么
SharedFlow
中,我们可以发出某些值,因此我声明:
private val _state: MutableSharedFlow<State> = MutableSharedFlow()
val state = _state.asSharedFlow()
但这看起来更像是退后一步
另一个选择是忘记抛出异常和传递错误代码,但为了与我的应用程序的其他部分保持一致,我想在这个流中传播错误
使用SharedFlow
实现RxJavaonError
的等效功能的正确方法是什么
state.map {
when (it) {
is Success -> it.value
is Error -> throw it.exception
}
}