订阅最新的Observable排放量

时间:2018-03-08 22:37:58

标签: rx-java rx-java2

我有一个发出整数的Observable:

n-1

将发出Observable.just(1, 2, 3, 4)

如何应用在最后1,2,3,4发射下运行的函数,如(伪代码)

n

(2是应该应用函数的排放数量)

会发出Observable.just(1, 2, 3, 4).doWithLatest(2, { i1, i2 -> i1 + i2 }) (最后两次排放的总和,作为函数提供)?

1 个答案:

答案 0 :(得分:3)

使用滑动缓冲区:

Observable.range(1, 4)
.buffer(2, 1)
.filter(list -> list.size() == 2)
.map(list -> list.get(0) + list.get(1))
.test()
.assertResult(3, 5, 7);