为什么可能.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)
为什么可能.toSingle()抛出错误而没有这样的元素?
filter()在上Single有两个结果,要么通过,您有一项,要么没有通过,您有一个空值Maybe。转换回Single您仅有一项或一项错误的任务。
我试图处理doOnError,但不起作用!
doOnError从流的角度来看,这不是错误处理,而是窥视错误通道。您必须使用onErrorResumeNext或retry对错误情况作出反应。