私はRxJava 2 *を使用しています。私はzip演算子を使用して2つの観測値の結果を併合したいと思います。Rxjava Observablesを圧縮できません
リモートサーバーからのモデルオブジェクトは、ルームデータベースから出力されるモデルオブジェクトとは異なります。
- 私は、これらの二つの結果
- が結果を表示するマージ
- 地元のものにリモートからオブジェクトをマップします。
interface CategoryService{
@GET("categories")
fun getCategories(): Observable<List<Category>>
}
そして、私のルームDAOクエリは次のようになります:
私のリモートAPIは、このようになりますように>観察可能に>私が観察変換した
@Query("SELECT * FROM categories ORDER BY id")
abstract fun categories(): Observable<List<KmagCategory>>
これは:
val newCategoryList : Observable<List<KmagCategory>> =settingService.getCategories().flatMap { list ->
Observable.fromIterable(list)
.map { item -> KmagCategory(item.id, item.title, item.slug, item.isFav) }
.toList()
.toObservable()
}
しかし、私はこのようなこれら二つの観測zip圧縮しようとすると:
val combinedObservable : Observable<List<KmagCategory>> = Observables.zip(KMagApp.database?.categories()?.categories()!!,newSetting)