2016-06-09 71 views

回答

5

Observable Contract如果您調用onError,那麼您的observable將不會再發射任何項目。僅僅因爲這個原因,我認爲你不應該嘗試這樣實現它(允許錯誤傳播給訂閱者)。

如果您想對錯誤執行任何操作,請嘗試在retry()之前使用doOnError()

所以,你的代碼看起來是這樣的:

getObservableThatMaybeEmitsTheError() 
    .doOnError(throwable -> LogTheErrorMethod(throwable)) 
    .retry() 
    ... 
    .subscribe()