一、描述
注册一个动作作为原始Observable生命周期事件的一种占位符。
你可以注册回调,当Observable的某个事件发生时,Rx会在与Observable链关联的正常通知集合中调用它。Rx实现了多种操作符用于达到这个目的。
RxJava实现了很多Do操作符的变体。
doOnEach操作符让你可以注册一个回调,它产生的Observable每发射一项数据就会调用它一次。你可以以Action的形式传递参数给它,这个Action接受一个onNext的变体Notification作为它的唯一参数,你也可以传递一个Observable给doOnEach,这个Observable的onNext会被调用,就好像它订阅了原始的Observable一样。
二、示意图
三、示例代码
1 | Observable.just(1, 2, 3) |
四、运行结果
1 | onNext: 1 |
五、更多
do操作符还有以下变体:
- doOnEach(Action1)
- doOnEach(Observer)
- doOnNext
- doOnSubscribe
- doOnUnsubscribe
- doOnCompleted
- doOnError
- doOnTerminate
- finallyDo
详情可查阅下面的参考资料。
六、参考资料
PS:欢迎关注 SherlockShi 个人博客