我需要在休息之前验证7个字段。每个验证都是单个可观察的,如果字符串与规则不匹配则会抛出错误。在onError
方法中,我在whitch字段上管理以显示错误消息和该消息的文本。问题在于我不知道如何在zip中以这种方式检查所有字段,例如,当其中一些抛出错误时不要停止另一个observable,并且在zip检查中是否存在至少一个错误以防止休息调用。
答案 0 :(得分:0)
您可以使用onErrorReturn()
运算符来返回遇到错误时将发出的特定项目。
例如,如果我们有两个observable并且第一个没有,而第二个没有,你会有这样的东西,并且会打印日志消息。
Observable.zip(Observable.error(new Throwable())
.onErrorReturn(throwable -> Result.fail()),
Observable.just(new Result("body")),
(BiFunction<Object, Result, Object>) (o, result) -> result)
.subscribe(o -> Log.d("test","both observables completed."));