【发布时间】:2021-08-30 10:52:57
【问题描述】:
我试图了解 JavaRx 的 Flux.merge 和 switchIfEmpty 如何在下面的代码中协同工作,因为我对看到的结果有点困惑,这无疑是我没有完全掌握 Java RX 的结果。
我的问题是...如果调用 wOneRepository... 返回一个空列表或调用 wTwoRepository... 返回一个空列表,是否会执行 switchIfEmpty 代码?还是只有在两个调用都返回一个空列表时才会执行?
Flux<Widget> f1 = wOneRepository.findWidgets(email).onErrorResume(error -> Flux.empty());
Flux<Widget> f2 = wTwoRepository.findWidgets(email).onErrorResume(error -> Flux.empty());
return Flux.merge(f1, f2)
.switchIfEmpty(Flux.error(new IllegalArgumentException("Widgets were not found")));
谢谢
【问题讨论】:
标签: project-reactor flux