当前位置: 首页 > 知识库问答 >
问题:

如何在另一个反应流中使用一个反应流作为if语句的结果

佘飞鸣
2023-03-14

我必须将一个返回Enum的方法重构为reactive。价值该方法的工作原理类似于从一个if语句到另一个if语句的过滤器。当一些if语句返回true(on map()方法)或遍历所有元素的路径时,我使用Pair和code来阻止链。它是有效的,但在map()if语句中使用了两个辅助方法,它们实际上是阻塞的,所以我必须使它们成为非阻塞的。辅助方法One返回布尔值,每次调用该方法时都必须调用它。下面是示例代码:

java prettyprint-override">
public Mono<Enum> method(String param) {
return Mono.just(param)
   .map(
      //filter if-statement
    )
 .map(
      //filter if-statement
    )
 .map(
    pair -> {
       if (auxiliaryMethodOne(param)) {
      //filter if-statement
        }
      }
    )
 .map(
      //filter if-statement
    )
}

private Mono <Boolean> auxiliaryMethodOne(String param) {
    //some logic returns Mono<Boolean>
}

共有1个答案

曾宏毅
2023-03-14

您可以在以下情况下使用Mono#filter:

myMono.filterWhen(pair -> auxiliaryMethodOne(param))

 类似资料:
  • 问题内容: 我正在使用创建一个解决方案,而选择应该只包含另一个中不包含的选项。防爆 要通过另一个值进行过滤,我该怎么办? 问题答案: 劳拉(Laura)的上述答案在编写自定义filterOption函数时中断了过滤(如果您不希望Select可过滤,那么可能就可以了)。 一个更简单的解决方案是,对通过的应用仅应用一个简单的过滤器,而不是对第二个“选择”应用。 工作实例

  • 添加行为(副作用)在流量终止后触发,要么成功完成下游,要么出现错误。 这里有一个简单的例子来再现我面临的问题: 标志简单地说明了在和调用之间的代码可能引发错误。数字1到4表示为了本例的目的,我尝试插入调用的位置,。 null 有人能解释一下上面的事情吗?这是图书馆的故意行为吗? 注意,我使用的是Reactor堆芯3.3.8。

  • 我有2个mysql语句,其中一个从4个链接表中获取所有信息,供员工使用。我正在尝试为另一个表中的每个staff member获取标题,但我无法将其添加到1语句中,因为它与所选的主表无关。我已经尝试了mysql语句的20个变体,但都没有成功。我确实让它通过第二条语句中的一个变量拉出标题并输出它,但它给每个语句都赋予了相同的标题,当它再次循环时似乎并没有更新变量。 第一条mysql语句读到(简化版很长

  • 我的SQL有这些表: ___BookingsDatas ___预订 _ _ _客户 我想链接这些表,所以我有这个查询: 它实际上起作用了。 问题是在第二个表上,我有一些信息需要与第三个表链接。 例如,我需要有以下结果: 那么,在这种情况下,如何在另一个where语句中使用第一个mysql查询的结果? 谢谢。

  • 问题内容: 问:我怎样才能从读到的一切入的方式是不是一个手工制作的循环用我自己的字节的缓冲区? 问题答案: 编写一个方法来执行此操作,然后从需要该功能的任何地方调用它。番石榴已经在中提供了代码。我敢肯定,几乎所有其他具有“通用” IO功能的库也都有它,但是Guava是我第一个“入门”库。它震撼了:)

  • 问题内容: 有没有办法将一个组件传递到另一个React组件?我想创建一个模型react组件,并传入另一个react组件以包含该内容。 编辑:这是一个reactJS codepen,说明了我正在尝试做的事情。http://codepen.io/aallbrig/pen/bEhjo 的HTML ReactJS 问题答案: 您可以用来渲染组件包含的任何子代: