Java 忽略可观测数据中的错误<;单个<;T>&燃气轮机;
我有一个Java 忽略可观测数据中的错误<;单个<;T>&燃气轮机;,java,rx-java,rx-java2,Java,Rx Java,Rx Java2,我有一个可观察的,我想把它转换成一个新的可观察的,其中任何失败的单个都会被忽略 以下是我的实现尝试: public static <T> Observable<T> skipErrors(final Observable<Single<T>> xs) { Preconditions.checkNotNull(xs); return xs.flatMap(single -> single.map(Optional::of)
可观察的
,我想把它转换成一个新的可观察的
,其中任何失败的单个
都会被忽略
以下是我的实现尝试:
public static <T> Observable<T> skipErrors(final Observable<Single<T>> xs) {
Preconditions.checkNotNull(xs);
return xs.flatMap(single -> single.map(Optional::of)
.onErrorReturn(error -> Optional.empty())
.flatMapObservable(optional ->
optional.map(Observable::just).orElseGet(Observable::empty)));
}
我认为你应该可以做得简单一点:
public static <T> Observable<T> skipErrors(final Observable<Single<T>> singles) {
Preconditions.checkNotNull(xs);
return singles
.flatMap(single -> single
.toObservable()
.onErrorResumeNext(Observable.empty())
);
}
publicstaticobservedskipperrors(最终可观察单曲){
先决条件。checkNotNull(xs);
返回单打
.flatMap(单个->单个
.TooObservable()文件
.onErrorResumeNext(Observable.empty())
);
}
这确实更简单。谢谢
public static <T> Observable<T> skipErrors(final Observable<Single<T>> singles) {
Preconditions.checkNotNull(xs);
return singles
.flatMap(single -> single
.toObservable()
.onErrorResumeNext(Observable.empty())
);
}