如何从RxAndroidBehaviorSubject
上检索最新值?
一些背景信息:我正在使用 RxJava 来实现 MVVM 模式。我的 ViewModel 封装了 s 的“可绑定属性” BehaviorSubject
。我将它们作为可观察对象绑定到 UI 元素,确保界面不断更新(并且由于 using BehaviorSubject
,即使在设置值之后进行订阅,它也会发生)。
对于业务逻辑,我仍然希望能够访问属性的最新(实际)“原始”值。
我怎么做?
肯定BehaviorSubject
会以某种方式缓存它,因为它会为订阅它的人重新发布最新值。
然而BehaviorSubject.last()
只返回一个Observable<T>
,而且它似乎没有公开任何T
返回类型的方法。
我知道我可以自己缓存它,但感觉是多余的。
我想我也可以在我的 getter 中创建一个一次性订阅,只是为了获取它的最新值,然后将其返回给调用代码,但这似乎很笨拙。
手头有更整洁的东西吗?