如何解决RxJava BehaviorSubject#onError(Throwable) 在 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 一样关闭,并且永远不能代表失败。如果需要,所有错误和完成信号都应明确具体化。”
因此,您可能必须创建一个带有值和异常槽的数据类,然后使用 takeWhile
停止它。
(旁注:我碰巧有一个用于 kotlin 流程的 BehaviorSubject
,它确实提供了一个 error channel。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。