我想缓存以下可观察的
val currentUser: Observable<User>
get() = Observable.create { emitter ->
...
}
由于create
返回的可观察值是静态的,因此我不能仅对其调用cache
。我这样做的原因是,可观察对象是在应用程序的不同部分中访问的,我希望它立即返回最新值,而不是每次都进行网络调用。
答案 0 :(得分:2)
您尝试过吗:
val currentUser: Observable<User> = Observable.create { emitter ->
...
}.replay(1)
.autoConnect(0)
?
答案 1 :(得分:1)
感谢EpicPandaForce,这是我最终使用的。我必须指定发射器类型,否则会出错
val currentUser: Observable<User> = Observable.create { emitter: ObservableEmitter<User> ->
...
}.replay(1)
.autoConnect(0)