如果我在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
。