Если я использую оператор Timeout
на RxJava2
, что распространяется на исходный Observer
?
Я создаю сетевой запрос и отправляю его результат как Observable
.Я хочу отменить запрос сети, если есть тайм-аут.Я не хочу использовать OnError
для отмены сетевого запроса, так как для этого потребуется, чтобы я раскрыл внутренние переменные сетевого запроса.
Мой код выглядит примерно так:
public Single<String> createSingle() {
return Single.fromCallable(() -> {
Task<ApiResponse> result = getApiResult();
Tasks.await(result);
return result.getResult();
});
}
Я знаю, что Single.fromCallable
будет распространяться по любому Exceptions
, я не уверен, как просто отменить result
, если есть Timeout
или отписаться (удалить).