observable.timeout(time)
--- onError(msg:The source did not signal an event for time milliseconds and has been terminated.);
observable.timeout(time).onErrorResumeNext(return (Observable)null)
--- onErrorResumeNext(msg:The source did not signal an event for time milliseconds and has been terminated.)
--- onError(msg:Observable is null)
observable.timeout(time).onErrorResumeNext(return observable)
--- onErrorResumeNext(msg:The source did not signal an event for time milliseconds and has been terminated.)
--- onNext()
--- onCompleted()
如果接口本身有错误或者说是非.timeout()超时对应的三种情况,这里以404错误为例
总结:只写timeout的话,一旦触发,就会直接触发onError并结束此次接口访问;想要继续访问接口必须要在timeout方法后.onErrorResumeNext并返回此次访问所使用的的observable对象;意思就是:我超时了但是我把此次访问丢了出来,你可以继续执行未完成的访问
注意点:onErrorResumeNext必须return observable对象,return null 的话依旧会走到onError中,意思就是我知道我超时了,但你没告诉我下一步该怎么办。