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

将所有元素组合成通量到单声道

马晓博
2023-03-14

这是我所面临问题的一个简化例子。

Flux<String> fluxString = Flux.just("A","B","C");
Mono<String> monoString = Mono.just("Original");

预期的结果是这样的

Mono<String> expectedresult = "Original A B C";

方法1-

方法2-

我尝试了方法2和以下代码

Flux<String> fluxfrommono = monoString.flatMapMany(a-> Mono.just(a).repeat());
Flux.zip(fluxfrommono ,fluxString  ,(a,b)-> a+b)

但这会产生“原始A”、“原始B”、“原始C”-

如何做到这一点?

共有2个答案

邵畅
2023-03-14

为我写的代码-

Flux<String> fluxString = Flux.just("A","B","C");
Mono<String> monoString = Mono.just("Original");
Mono<String> combinedString = fluxString.reduce((a,b)->a+b);
Mono<String> expectedresult = Mono.zip(monoString ,combinedString ,(a,b)->a+b);
居晗日
2023-03-14

您需要使用fluxStringmonoString压缩为Mono

 类似资料:
  • 我有一个类似 我试图使所有元素联合元素,但同一子数组中的元素不得复制。 这将根据第一个子数组中的元素数进行添加。我试过了,但找不到任何解决办法。有人能帮忙吗? 这是我试过的代码: 提前感谢。!

  • 我有一个流量和单声道如下: 但是传递和处理相同的会导致错误。我怎样才能做到以上?谢了!

  • webflux包中发生了有趣的事情。然而,我在源头的旅程并没有解决以下问题。 假设我有以下单声道(或通量): 我在webfilter中使用类似的构造,用租户和用户数据丰富管道。然后在控制器中使用如下构造: hello mono的上下文填充在world mono中。我试图弄清楚这是如何做到的,也是为了单元测试的目的。 最后,这仍然是一个谜。我试图用单声道/通量对象上可用的常规方法来做到这一点,但是我

  • 我需要迭代两个元素的所有组合:在集合[1,2,3,4]中,我想迭代[(1,2),(1,3),(1.4),(2,3),,(2,4),(3,4)]。是否有现有的工具可以执行此操作? 这段代码将执行两倍于所需的操作,因为在两个循环中都将访问每个对象。 为此编写自己的方法是微不足道的,我只是不想发明轮子。我期望在Guava或Collections API中找到这个,但是没有找到这样的功能。

  • 我用平面图附加通量,但如果我添加其他平面图,则只返回最后一个平面图。 我需要在通量上处理每个Mono函数,但我似乎无法让每个函数正确执行和返回。

  • 的现有元组重载仅限于按索引或类型返回1个元素。想象一下,一个元组包含多个相同类型的元素,你想把它们都提取到一个新的元组中。 如何实现std::get的版本 不确定通过