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

Java Reactor Mono。zipWith(Mono)应返回Mono

充鑫鹏
2023-03-14

假设我有以下流程

Mono.just("value 1")
    .zipWith(Mono.just("value 2")) 
       //Mono<Tuple2<String, String>>
    .zipWhen(TupleUtils.function((value1, value2) -> Mono.fromCallable(() -> createValue3(value1, value2)))) 
      //Mono<Tuple2<Tuple2<String, String>, String>>

只是为了理解

private String createValue3(String value1, String value2) {
    return "value 3";
}

因此,我有

Mono<Tuple2<Tuple2<String, String>, String>>

但我需要

Mono<Tuple3<String, String, String>> 

继续皱眉

.map(TupleUtils.function((value1, value2, value3) -> ...)) 

这个问题有什么好的解决办法吗?

共有1个答案

左丘耀
2023-03-14

丑陋的解决方案

.map(tuple -> Tuples.of(tuple.getT1().getT1(), tuple.getT1().getT2(), tuple.getT2()))
 类似资料:
  • 我想在上一次返回

  • 我正在使用Junit 5和mockito进行一些单元测试。 要被模拟的方法调用如下。它返回一个Mono并接受两个String参数。 我嘲笑它如下 这会产生一个空指针,如下所示

  • 我对反应性编程相对较新。我的问题是关于

  • 我很难理解mono 的用法。请问这个Mono 能给Mono带来什么样的好处? 谢谢。

  • 我试图在Spring Boot中使用MongoDB反应性模板以反应式方式获得更新结果。 问题是更新部分不会执行,因为我没有订阅它,但我真的不知道如何使用反应性范式执行这两个操作并返回一个值。 这就是我正在尝试的: flatMap updateFirst不会发生,因为我没有订阅,但我需要返回UpdateResult,如果我订阅了,我不知道如何返回该值。

  • 下一个metod在TokenService类中。