Rxjava 2 Maybe.toSingle错误

时间:2017-03-26 12:50:22

标签: java rx-java2

为什么maybe.toSingle()抛出错误没有这样的元素?我试图处理doOnError但是没有工作!!

     Single<Integer> singleOdd = Single.just(1);
    Single<Integer> singleEven = Single.just(2);
      Single.concat(singleOdd.filter(integer -> integer%2 ==0).toSingle(),singleEven).doOnError(throwable -> throwable.printStackTrace()).subscribe();

1 个答案:

答案 0 :(得分:5)

  

为什么maybe.toSingle()抛出错误没有这样的元素?

filter()上的{p> Single有两个结果,要么通过,要么有一个项目,要么它没有通过,你有一个空Maybe。转换回Single强制要求您只有一个项目或错误。

  

我试图处理doOnError但不起作用!!

从流的角度来看,

doOnError不是错误处理,而是查看错误通道。您必须使用onErrorResumeNextretry来回应错误案例。