RxJava 操作符 do
生活随笔
收集整理的這篇文章主要介紹了
RxJava 操作符 do
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看下文檔給的圖片
注冊一項操作以應對各種可觀察的生命周期事件
do的操作符有很多具體如下
下面看下器使用
Observable.create(new ObservableOnSubscribe<Integer>() {@Overridepublic void subscribe(ObservableEmitter<Integer> emitter) {emitter.onNext(1);emitter.onNext(2);emitter.onNext(3);emitter.onError(new Throwable("發生錯誤了"));emitter.onNext(4);emitter.onNext(5);emitter.onNext(6);emitter.onComplete();}//1.當Observable每發送1次數據事件就會調用1次}).doOnEach(new Consumer<Notification<Integer>>() {@Overridepublic void accept(Notification<Integer> integerNotification) {Log.d( "--------Rxjava: " , "doOnEach"+ integerNotification.getValue());}// 2. 執行Next事件前調用}).doOnNext(new Consumer<Integer>() {@Overridepublic void accept(Integer integer) throws Throwable {Log.d("--------Rxjava", "doOnNext: " + integer);}// 3. 執行Next事件后調用}).doAfterNext(new Consumer<Integer>() {@Overridepublic void accept(Integer integer) throws Throwable {Log.d("--------Rxjava", "doAfterNext: " + integer);}// 4. Observable正常發送事件完畢后調用}).doOnComplete(new Action() {@Overridepublic void run() throws Throwable {Log.e("--------Rxjava", "doOnComplete: ");}// 5. Observable發送錯誤事件時調用}).doOnError(new Consumer<Throwable>() {@Overridepublic void accept(Throwable throwable) throws Throwable {Log.d("--------Rxjava", "doOnError: " + throwable.getMessage());}// 6. 觀察者訂閱時調用}).doOnSubscribe(new Consumer<Disposable>() {@Overridepublic void accept(Disposable disposable) throws Throwable {Log.e("--------Rxjava", "doOnSubscribe: ");}}).doFinally(new Action() {@Overridepublic void run() throws Throwable {Log.e("--------Rxjava", "doFinally: ");}}).subscribe(new Observer<Integer>() {@Overridepublic void onSubscribe(Disposable d) {Log.d("-----rxjava", "開始采用subscribe連接");}@Overridepublic void onNext(Integer integer) {Log.d("-----rxjava", "對Next事件作出響應:" + integer);}@Overridepublic void onError(Throwable e) {Log.d("-----rxjava", "對Error事件作出響應" + e);}@Overridepublic void onComplete() {Log.d("-----rxjava", "對onComplete事件作出響應");}});}
打印結果
建議自己手打一遍對應看看 ..........
參考文章
http://reactivex.io/documentation/operators/do.html
https://blog.csdn.net/carson_ho/article/details/78537277
?
總結
以上是生活随笔為你收集整理的RxJava 操作符 do的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RxJava debounce()和t
- 下一篇: 三金片适用于哪类人群