Java 8 Java8反应流中的嵌套流量
我有3个返回通量语句,它们相互嵌套,如下所示:- 我在3个存储库中有3个项目->reactiveRepo1,2,3 下面的代码片段会返回27个不同的苹果吗Java 8 Java8反应流中的嵌套流量,java-8,spring-webflux,Java 8,Spring Webflux,我有3个返回通量语句,它们相互嵌套,如下所示:- 我在3个存储库中有3个项目->reactiveRepo1,2,3 下面的代码片段会返回27个不同的苹果吗 private Flux<Apple> method() { Apple A = new Apple(); return reactiveRepo1.findAll() .flatMap(item -> { A.setProp1(item.getSomething()
private Flux<Apple> method() {
Apple A = new Apple();
return reactiveRepo1.findAll()
.flatMap(item -> {
A.setProp1(item.getSomething())
return reactvieRepo2.findAll()
.flatMap(item2 -> {
A.setProp2("item.getSomething2()")
return reactiveRepo3.findAll()
.flatMap(item3 -> {
A.setProp3("item.getSomething3()");
return A;
});
});
});
}
专用流量方法(){
苹果A=新苹果();
返回reactiveRepo1.findAll()
.flatMap(项目->{
A.setProp1(item.getSomething())
返回reactvieRepo2.findAll()
.flatMap(项目2->{
A.setProp2(“item.getSomething2()”)
返回reactiveRepo3.findAll()
.flatMap(项目3->{
A.setProp3(“item.getSomething3()”);
返回A;
});
});
});
}
您可以这样做
private Flux<Apple> method() {
return Flux.zip(Array.asList(
reactiveRepo1.findAll(),
reactvieRepo2.findAll(),
reactiveRepo3.findAll()),
arrayReturnValues -> {
...
}
);
}
专用流量方法(){
返回Flux.zip(Array.asList(
reactiveRepo1.findAll(),
reactvieRepo2.findAll(),
reactiveRepo3.findAll()),
arrayReturnValues->{
...
}
);
}
其中arrayReturnValues是一个数组,包含从所有存储库检索到的所有值。在。。。您必须编写一个处理返回值的函数通量是管道,而不是循环。另外,3^3=27。进行了修正。那么,在这种情况下,如何使用循环呢?那么,在所有情况下,我将有9个值?是的,你将有一个9个元素的数组,Objecti正在寻找3^3=27,即所有可能的组合