我的订阅者在10秒内超时。我在哪里通过超时发生后会发生什么?
Service.registerUser(registerUserRequest)
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.io())
.timeout(10, TimeUnit.SECONDS)
.subscribe(new SingleObserver<RegisterUserResponse>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onSuccess(RegisterUserResponse registerUserResponse) {
}
}
@Override
public void onError(Throwable e) {
Log.e(LogTags.API, "Error occurred while registering new user.");
e.printStackTrace();
}
});
答案 0 :(得分:1)
如果发生超时,则onError将为invko TimeoutException
,因此您可以使用以下命令检查onError方法中的if:
if( e instanceof TimeoutException)
检查此链接:http://reactivex.io/documentation/operators/timeout.html