我正在将rxjava 1升级到rxjava 2.在rxjava 1中有OnErrorThrowable但在rxjava中找不到2.我可以在下面的代码中做什么来替换OnErrorThrowable?
static Observable<String> sampleObservable() {
return Observable.defer(new Callable<ObservableSource<String>>() {
@Override
public ObservableSource<String> call() throws Exception {
try {
// Do some long running operation
Thread.sleep(TimeUnit.SECONDS.toMillis(5));
} catch (InterruptedException e) {
throw OnErrorThrowable.from(e);
}
Log.d(TAG, "The sleep is over, now produce something");
return Observable.just("one", "two", "three", "four", "five");
}
});
}
答案 0 :(得分:2)
你可以返回Observable.error(e);
而不是扔进你的阻挡区。
答案 1 :(得分:2)
在2.x中,您不必包装异常,因为所有功能类型都声明throws Exception
:
static Observable<String> sampleObservable() {
return Observable.defer(new Callable<ObservableSource<String>>() {
@Override
public ObservableSource<String> call() throws Exception {
Thread.sleep(TimeUnit.SECONDS.toMillis(5));
Log.d(TAG, "The sleep is over, now produce something");
return Observable.just("one", "two", "three", "four", "five");
}
});
}