我想在我的spring引导服务中收集多个通量结果。我的方法:
private Flux<VMachineResourceResponse> getDataForPhysicalMachineProtection(
ResourcesWrapper resources, UUID groupId) {
Flux<VMachineResourceResponse> result = Flux.empty();
resources
.getHypervResources()
.forEach(
resource -> {
Flux<VMachineResourceResponse> protectedResourcesForAgentAndId =
hypervAgentService.getProtectedResourcesForAgentAndId(
groupId, resource.getAgentId());
result.mergeWith(protectedResourcesForAgentAndId); //maybe that way???
});
return result;
}
怎么做?
1条答案
按热度按时间cs7cruho1#
你应该把你的单子放在一张纸上
Flux
,那么flatMap
再把每一个新的Flux
. 这个flatMap
会自动将所有的东西“扁平化”为一个Flux
下面的例子应该说明这个概念: