java - 一个 Observable 对另一个 RxJava2 的依赖
问题描述
有一个类,它有可观察的字段。我要更新localData
在接收远程数据时remoteData
,由于某种原因无法获取数据localData
,调试时连断点都没有getIdsInDatumsRemote ()
。该identifyDatumsForUpdate ()
方法得到一个空的 Observable。
class DiskDatumDataStore {
var remoteData: Observable<Data>? = null
var localData: Observable<Data>? = null
override fun sync() {
remoteDatums = getChangedRemoteData(lastUpdated!!, 1000)!!
localDatums = remoteDatums!!.map {
getIdsInDatumsRemote(it)
}.map {
it.map {
it.toLong()
}
}.flatMap {
getOldLocalData(it)
}
identifyDatumsForUpdate(datumsForUpdateLocal, datumsForUpdateRemote)
}
override fun getOldLocalData(remoteDatumsIds: List<Long>): Observable<List<DataLayerTypesOfResponsibility>> {
return Observable.fromCallable { repository.getOldDatum(remoteDatumsIds) }
}
}
解决方案
你不是subscribing
你的Observable
。你只是在创造它。
localDatums = remoteDatums!!.map {
getIdsInDatumsRemote(it)
}.map {
it.map {
it.toLong()
}
}.flatMap {
getOldLocalData(it)
}.subscribe { it->
//do something with the result `it`
}
推荐阅读
- swift - ProgressHUD 未从 for 循环更新(自动释放池块)
- css - 当我将鼠标悬停在导航栏区域时,我希望导航栏背景变为白色,而导航栏中其他元素的颜色变为黑色。我该怎么做?
- c++ - 如何在 C++ 中设置 int 值的范围
- python - 如何在 Python 3.7.9 中将字符串视为字节?
- php - 如何比较数组值保留键?
- blazor - 从对话框返回时,按钮在 Syncfusion Blazor Grid 中保持选定状态
- reactjs - 屏幕唤醒,空闲计时器
- npm - 如何将模拟器更新到 firebase-tools-instant-win.exe 中的节点 v14?
- python - 为什么我的程序崩溃并反复播放声音?(Python tkinter 计时器)
- java - 无法使用 JPA 找到数据在 MySQL 中的持久化位置