我想构建一个可切换的可迭代流(Observable<List<T>>
(,如下所示:
- 订阅时,发出一个空的可迭代对象(例如。列表(
- 当收到输入(PublishSubject?(时,将其添加到可迭代对象并发出它。
- 当再次收到输入时,将其添加到可迭代对象(如果不存在(或将其从可迭代对象中删除(如果存在(,然后发出它。
- 重复步骤 3。
这很容易用RxJava实现吗?
如果我的问题不清楚,请原谅,我是响应式编程的新手。
我认为您可以使用单个Subject
+scan
运算符来做到这一点:
val subject = PublishSubject.create<Int>()
subject.scan(mutableListOf<Int>()) { list, item ->
list += item
list
}