一、描述
连续地对数据序列的每一项应用一个函数,然后连续发射结果。
Scan操作符对原始Observable发射的第一项数据应用一个函数,然后将那个函数的结果作为自己的第一项数据发射。它将函数的结果同第二项数据一起填充给这个函数来产生它自己的第二项数据。它持续进行这个过程来产生剩余的数据序列。这个操作符在某些情况下被叫做accumulator。
二、示意图
三、示例代码
1 | Observable.just(1, 2, 3, 4, 5) |
四、运行结果
1 | onNext: 1 |
项目代码已上传到Github:https://github.com/SherlockShi/RxJavaBestPractise
五、更多
scan操作符共有以下几个变体:
- scan(Func2)
- scan(R,Func2)
详情可查阅下面的参考资料。
六、参考资料
PS:欢迎关注 SherlockShi 个人博客