RxJava2的新功能
我遇到combineLatest
和Observable.combineLatest(
Observable.timer(5, TimeUnit.SECONDS).map { TimedData(it) },
locationDataSource.listen(),
sensorDataSource.listen().
Function3 { timedData, location, sensorEvent -> Combined(timedData, location, sensorEvent) }
).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe {
Log.d(TAG, "Timer -> " + it.timedData)
}
例如:
timedData
正在发生的事情是CachingClientConnectionFactory
只更新一次,然后它再也不会激发,所有其他可观察数据都会开始更新。
我发现https://github.com/ReactiveX/RxJava/issues/1717但它是从2014年开始的,所以我认为它已经解决了。
由于BackPressure,这仍然会发生吗?
答案 0 :(得分:2)
按设计工作。 Observable.timer
为单个延迟执行安排一些任务。 如果您想要定期执行某些操作,请尝试interval
而不是timer
。
Observable.interval(0,5, TimeUnit.SECONDS);