如下代码,本意是将 flux 流发送到子线程处理,再将处理结果汇聚到主线程。如何能够实现主线程处理报错时停止 Flux 的呢。
public static void main(String[] args) {
String[] data = {"2", "2", "2", "0", "8", "9", "10", "11", "12", "13", "14", "15"};
Iterable<Integer> integers = Flux.fromArray(data)
.flatMapSequential(s -> Mono.fromSupplier(() -> Integer.parseInt(s)).subscribeOn(Schedulers.boundedElastic()), 3)
.doOnNext(s -> {
System.out.println(Thread.currentThread().getName() + "---------->" + s);
})
.toIterable();
for (Integer i : integers) {
//如何实现这里报错时,停止 Flux
System.out.println((10 / i) + "------>>>>" + Thread.currentThread().getName());
}
}