弹簧反应过程更单声道单声道

时间:2018-03-22 09:00:13

标签: spring spring-webflux reactor

我的方法如下:

public Mono<Double> calculate(OperandDto dto) {
    Mono<Double> dbResult1Mono = mongoReactRepo.findByMyLogic(dto);
    Mono<Double> dbResult2Mono = mongoReactRepo.findByMyOtherLogic(dto);

    // ? Multiply these results (dbResult1Mono * dbResult2Mono), and return with Mono<Double> ?
}

我想要增加2个Mono对象&#39;结果并以反应方式返回一个新的Mono。

有人可以帮我怎么做吗?

由于

1 个答案:

答案 0 :(得分:0)

您可以使用Flux.combineLatest()

    Mono<Double> dbResult1Mono = Mono.just(2d);
    Mono<Double> dbResult2Mono = Mono.just(5d);

   return Flux.combineLatest(dbResult1Mono, dbResult2Mono, (r1, r2) -> r1 * r2).next();