如下代码,本意是将 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());
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.