我正在尝试使用rx-java并行验证一个大文件,并在发生任何验证错误时立即返回。我的代码如下所示:Observable<ValidationError> observable = Observable.fromIterable(lines).flatMap(line -> Observable .just(line) .subscribeOn(Schedulers.computation()) .map(lineParser::parse) .map(lineValidator::validator) //validation returns Optional<ValidationError> .filter(Optional::isPresent) .map(Optional::get));这会导致文件中出现任何错误的Observable,但我不知道该如何实现,以便在第一次出现时就停止计算。我已经看到有一个blockingFirst方法,该方法似乎将返回第一个错误,但是应该在文件中未发现任何错误时引发Exception,这会使我的代码难看。有什么帮助吗?
添加回答
举报
0/150
提交
取消