鍍金池/ 教程/ Android/ Catch
調(diào)度器 Scheduler
Empty/Never/Throw
Replay
這個頁面展示了創(chuàng)建Observable的各種方法。
ObserveOn
ReactiveX
TimeInterval
Window
本頁展示的操作符用于對整個序列執(zhí)行算法操作或其它操作,由于這些操作必須等待數(shù)據(jù)發(fā)射完成(通常也必須緩存這些數(shù)據(jù)),它們對于非常長
IgnoreElements
Distinct
Last
Start
And/Then/When
Switch
創(chuàng)建操作
Materialize/Dematerialize
CombineLatest
Catch
實現(xiàn)自己的操作符
StringObservable
Map
ConnectableObservable
Using
Take
BlockingObservable
TakeLast
Defer
RxJavaSchedulersHook
First
FlatMap
這個頁面的操作符可用于根據(jù)條件發(fā)射或變換Observables,或者對它們做布爾運算:
Do
Repeat
Serialize
這個頁面展示的操作符可用于過濾和選擇Observable發(fā)射的數(shù)據(jù)序列。
這個頁面列出了很多用于Observable的輔助操作符
Single
Retry
從錯誤中恢復的技術(shù)
Sample
Merge
算術(shù)和聚合操作
Range
Timestamp
RxJava Issues
From
Subscribe
Subject
Delay
Skip
SubscribeOn
Filter
按字母順序排列的全部操作符列表
Timeout
Scan
onError
Zip
RxJava文檔和教程
Publish
ElementAt
第一個例子
SkipLast
Just
Timer
Debounce
GroupBy
條件和布爾操作
這個頁面展示了可用于對Observable發(fā)射的數(shù)據(jù)執(zhí)行變換操作的各種操作符。
Introduction
rxjava-async
介紹響應式編程
這個頁面展示的操作符可用于組合多個Observables。
ReactiveX
Connect
操作符分類
StartWith
Interval
Join
To
Buffer
RefCount
介紹
Observable

Catch

Catch

onError通知中恢復發(fā)射數(shù)據(jù)

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/catch.png" alt="catch" />

Catch操作符攔截原始Observable的onError通知,將它替換為其它的數(shù)據(jù)項或數(shù)據(jù)序列,讓產(chǎn)生的Observable能夠正常終止或者根本不終止。

在某些ReactiveX的實現(xiàn)中,有一個叫onErrorResumeNext的操作符,它的行為與Catch相似。

RxJava將Catch實現(xiàn)為三個不同的操作符:

onErrorReturn

讓Observable遇到錯誤時發(fā)射一個特殊的項并且正常終止。

onErrorResumeNext

讓Observable在遇到錯誤時開始發(fā)射第二個Observable的數(shù)據(jù)序列。

onExceptionResumeNext

讓Observable在遇到錯誤時繼續(xù)發(fā)射后面的數(shù)據(jù)項。

onErrorReturn

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/onErrorReturn.png" alt="onErrorReturn" />

onErrorReturn方法返回一個鏡像原有Observable行為的新Observable,后者會忽略前者的onError調(diào)用,不會將錯誤傳遞給觀察者,作為替代,它會發(fā)發(fā)射一個特殊的項并調(diào)用觀察者的onCompleted方法。

onErrorResumeNext

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/onErrorResumeNext.png" alt="onErrorResumeNext" />

onErrorResumeNext方法返回一個鏡像原有Observable行為的新Observable,后者會忽略前者的onError調(diào)用,不會將錯誤傳遞給觀察者,作為替代,它會開始鏡像另一個,備用的Observable。

onExceptionResumeNext

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/onExceptionResumeNextViaObservable.png" alt="onExceptionResumeNext" />

onErrorResumeNext類似,onExceptionResumeNext方法返回一個鏡像原有Observable行為的新Observable,也使用一個備用的Observable,不同的是,如果onError收到的Throwable不是一個Exception,它會將錯誤傳遞給觀察者的onError方法,不會使用備用的Observable。

上一篇:Filter下一篇:rxjava-async