我有两个数据源(Realm)。我想使用它的combineLatest运算符。
伪代码:
Flowable.combineLatest(
dataSource1
.observeOn(Schedulers.io(), false, 1),
dataSource2
.observeOn(Schedulers.io(), false, 1),
1
)
.observeOn(Schedulers.computation(), false, 1)
// processing
.doOnNext(item -> Thread.sleep(1000)
.subscribe();
我对observeOn运算符中缓存的项目数量使用限制(我不需要发出旧的db缓存数据)。
是否可以从combineLatest运算符的队列中发出最后一项?在实际状态下发出所有项目。
从db发出的数据具有相对较大的大小。对于一对是没关系,但更多不是。
答案 0 :(得分:1)
尝试onBackpressureLatest
:
Flowable.combineLatest(
dataSource1
.onBackpressureLatest()
.observeOn(Schedulers.io(), false, 1),
dataSource2
.onBackpressureLatest()
.observeOn(Schedulers.io(), false, 1),
1
)
.observeOn(Schedulers.computation(), false, 1)
.doOnNext(item -> Thread.sleep(1000)
.subscribe();