Rxjava 2 Maybe.toSingle错误

mah*_*tda 0 java rx-java2

为什么可能.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();
Run Code Online (Sandbox Code Playgroud)

aka*_*okd 5

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

filter()在上Single有两个结果,要么通过,您有一项,要么没有通过,您有一个空值Maybe。转换回Single您仅有一项或一项错误的任务。

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

doOnError从流的角度来看,这不是错误处理,而是窥视错误通道。您必须使用onErrorResumeNextretry对错误情况作出反应。