【发布时间】:2019-05-10 02:13:45
【问题描述】:
我想实现编辑笔记的方法,将其保存到本地数据库(缓存),然后将其作为 POST 请求发送到服务器。我正在学习 RxJava,我想从注释中创建 Observable,然后对其应用转换,例如将其映射到实体模型并保存。我的方法返回 Completable 并且此链返回 Observable<Completable> 的问题。如何从这个 Observable 中解开 Completable,我只是用来启动 RxJava 的东西。每个editNote() 方法都返回一个Completable。
override fun editNote(note: Note): Completable {
return Observable.just(note)
.map { mapper.mapToEntity(it) }
.map { noteEntity ->
factory.getCacheDataStore().editNote(noteEntity)
.andThen { factory.getRemoteDataStore().editNote(noteEntity) }
}
}
================================================ ========
更新
最后,我设法找到了“解决方案”,但我不确定它是否正确 :-)
override fun editNote(note: Note): Completable {
return Observable.just(note)
.map { mapper.mapToEntity(it) }
.flatMapCompletable { noteEntity ->
factory.getCacheDataStore().editNote(noteEntity)
.andThen { factory.getRemoteDataStore().editNote(noteEntity) }
}
}
【问题讨论】:
标签: android kotlin rx-java2 rx-kotlin