0

有一个类,它有可观察的字段。我要更新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) }      
    }
}
4

1 回答 1

1

你不是subscribing你的Observable。你只是在创造它。

localDatums = remoteDatums!!.map {
            getIdsInDatumsRemote(it)
        }.map {
            it.map {
                it.toLong()
            }
        }.flatMap {
            getOldLocalData(it)
        }.subscribe { it->
            //do something with the result `it`
        }

于 2019-07-29T10:31:45.557 回答