RxJava BehaviorSubject#onError(Throwable) 等同于 Kotlin Flow
RxJava BehaviorSubject#onError(Throwable) equivalent in Kotlin Flow
我正在将项目中的一些 RxJava 代码转换为 Kotlin Flow。
我发现了一段代码,其中 BehaviorSubject#onError(Throwable)
被调用。
我没有找到任何方法来使用 Flow
对象。
// RxJava
val behaviorSubject = BehaviorSubject.create<Int>()
behaviorSubject.onError(RuntimeException())
// Kotlin Flow
val mutableSharedFlow = MutableSharedFlow<Int>()
mutableSharedFlow.???
有什么办法吗?
来自 docs:“SharedFlow 不能像 BroadcastChannel 那样关闭并且永远不能表示失败。如果需要,所有错误和完成信号都应明确具体化。”
所以您可能必须创建一个数据 class,其中包含用于值和异常的槽,然后使用 takeWhile
停止它。
(旁注:我正好有一个 BehaviorSubject
for kotlin flow that does offer an error channel。)
我正在将项目中的一些 RxJava 代码转换为 Kotlin Flow。
我发现了一段代码,其中 BehaviorSubject#onError(Throwable)
被调用。
我没有找到任何方法来使用 Flow
对象。
// RxJava
val behaviorSubject = BehaviorSubject.create<Int>()
behaviorSubject.onError(RuntimeException())
// Kotlin Flow
val mutableSharedFlow = MutableSharedFlow<Int>()
mutableSharedFlow.???
有什么办法吗?
来自 docs:“SharedFlow 不能像 BroadcastChannel 那样关闭并且永远不能表示失败。如果需要,所有错误和完成信号都应明确具体化。”
所以您可能必须创建一个数据 class,其中包含用于值和异常的槽,然后使用 takeWhile
停止它。
(旁注:我正好有一个 BehaviorSubject
for kotlin flow that does offer an error channel。)