为什么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();
答案 0 :(得分:5)
为什么maybe.toSingle()抛出错误没有这样的元素?
filter()
上的{p> Single
有两个结果,要么通过,要么有一个项目,要么它没有通过,你有一个空Maybe
。转换回Single
强制要求您只有一个项目或错误。
从流的角度来看,我试图处理doOnError但不起作用!!
doOnError
不是错误处理,而是查看错误通道。您必须使用onErrorResumeNext
或retry
来回应错误案例。