Functional programming SpringWebFlux-如何从流的中间返回响应?

Functional programming SpringWebFlux-如何从流的中间返回响应?,functional-programming,spring-webflux,Functional Programming,Spring Webflux,我试图处理一个场景,在这个场景中,我希望从流的中间(mono/flux)返回一些基于某个谓词(条件)的默认响应。例如: end-result = flux .step1() .step2(some predicate -> return some dummy end-result from here and skip further execution) .step3() .step4(//returns end-result); 我无法找到这样做的方法,因为WebFlux本质上是一个管

我试图处理一个场景,在这个场景中,我希望从流的中间(mono/flux)返回一些基于某个谓词(条件)的默认响应。例如:

end-result = flux
.step1()
.step2(some predicate -> return some dummy end-result from here and skip further execution)
.step3()
.step4(//returns end-result);
我无法找到这样做的方法,因为WebFlux本质上是一个管道,无论我在第2步做什么,都是对第3步的馈送,我无法避免它继续下去


我知道用flatMap(obj->somepredicate(obj))可以用if-else的方式编写代码,但我正在寻找一种开箱即用的功能性代码开关ifempty
默认ifempty
中返回默认响应实现您想要的并不难,但我需要更多关于
步骤3
步骤4
的上下文,至少他们需要什么作为输入以及产生什么作为输出。我会说<代码>。应用< <代码> >代码> doon成功< /COD>,<代码> DOONNEX//COD>运算符将是有用的。你不能返回中间,你需要确保所有的步骤都能处理你正在传递的数据。因为用这种方式编码是不安全的,所以键入safe或functional。使用过滤器,然后在
开关ifempty
默认ifempty
中返回默认响应实现您想要的并不难,但我需要更多关于
步骤3
步骤4
的上下文,至少他们需要什么作为输入以及产生什么作为输出。我想说,
.apply
.doOnSuccess
doOnNext
操作符会很有帮助。