如何从多个Flux<MyPojo>获取Flux<MyPojo>
在一个非常简单的例子中:
public Flux<MyPojo> question() {
Flux<MyPojo> flux1 = getFluxMyPojoViaAPI();
Flux<MyPojo> flux2 = repository.findAll();
Flux<MyPojo> flux3 = getFluxMyPojoViaAnotherAPI();
Flux<MyPojo> flux4 = etc();
Flux<MyPojo> everythingTogetherAsFluxMyPojo = //how to achieve this please?
return everythingTogetherAsFluxMyPojo;我想知道如何从所有先前计算的Flux<MyPojo>中获得Flux<MyPojo>
我尝试了zip和那些相关的API,最终得到了Flux of Tuples。
有没有更简单更好的方法从多个Flux<MyPojo>中获取Flux<MyPojo>?
发布于 2021-01-10 00:03:02
您可以使用Flux.merge(Publisher... sources)
Flux<MyPojo> combined = Flux.merge(flux1, flux2, flux3, flux4)或Flux.concat(Publisher... sources)
Flux<MyPojo> combined = Flux.concat(flux1, flux2, flux3, flux4)merge和concat之间的重要区别是,merge会一起订阅所有流量,并在到达任何流量时发布项目,而concat将首先订阅第一个流量并发布其项目,直到完成,然后订阅下一个流量,依此类推。
https://stackoverflow.com/questions/65226646
复制相似问题