RxJava流转换

时间:2018-11-06 05:23:28

标签: rx-java2

我在仓库中声明了以下函数:

fun loadAllNotifications(): Single<List<Notification>>

fun insertAll(notifications: List<Notification>): Completable

我想做的是loadAllNotifications(),然后通过执行类似的操作将每个Notification的{​​{1}}标志重置为isOpened

false

一旦我有一个val updatedNotification = currentNotification.copy(isOpened = false) 设置为isOpened的通知列表,我想将此列表传递到false

我如何在单个RxChain中执行上述操作?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

loadAllNotifications()
        .flatMapObservable { Observable.fromIterable(it) }
        .map { it.copy(isOpened = false) }
        .toList()
        .flatMapCompletable{ insertAll(it) }