RxJava 的 RxSwift 变量或 BehaviorRelay 的内置等效项

Posted

技术标签:

【中文标题】RxJava 的 RxSwift 变量或 BehaviorRelay 的内置等效项【英文标题】:Built-in equivalent of RxSwift Variable or BehaviorRelay for RxJava 【发布时间】:2018-05-14 17:42:34 【问题描述】:

问题

RxSwift for RxJava 中的Variable(已弃用)或BehaviorRelay 的最佳等效项是什么?

加法

在这种情况下,我假设我可以使用 RxJava 中的内置对象BehaviorSubject,但它的行为是否与上述对象相同?

我也知道有外部库RxRelay,但这是唯一的选择吗?

【问题讨论】:

【参考方案1】:

subject 和relay 的区别在于subject 会记录错误或完成,将其传递到下游,而relay 只传递排放。

来自 Jake Wharton 的扩展库实现了 BehaviorRelay 行为,它等效于 RxSwift BehaviorRelay。使用该扩展库应该没有问题。

我不确定您对非内置功能的担忧是什么。扩展库的源代码很容易获得,并允许您在部署之前查看代码。

【讨论】:

以上是关于RxJava 的 RxSwift 变量或 BehaviorRelay 的内置等效项的主要内容,如果未能解决你的问题,请参考以下文章

使用 Observable 绑定 BehaviorRelay - RxSwift

ReactiveX序列——RxSwift

ReactiveX序列——RxSwift

RxSwift 与 BehaviorRelay<Any?> 的双向绑定

我可以从 rxSwift map-Function 引发错误吗

RxSwift : BehaviorRelay 代替变量使用