繁体   English   中英

Spring 引导 Webclient - 合并

[英]Spring Boot Webclient - Merge

我想合并 2 个响应并返回一个 Flux。

private Flux<Response<List<Company>, Error>> loopGet(List<Entity> registries, Boolean status) {
    return Flux.fromIterable(registries)
            .flatMap(this::sendGetRequest)
            .mergeWith(Mono.just(fetch(status)));

}

这就是我正在做的,正在工作,但我希望合并在调用 Mono.just (获取(状态))之前等待。 我将解释一下,sendGetRequest 返回一个 Mono 进行 API 调用,并将结果保存到 db。 随后,合并使用 fetch 方法调用数据库,但该数据尚未更新。 如果我再次拨打电话,我会得到更新的数据。

您需要concatWithfromCallable以确保在 get 请求完成后延迟调用 fetch。

private Flux<Response<List<Company>, Error>> loopGet(List<Entity> registries, Boolean status) {
    return Flux.fromIterable(registries)
            .flatMap(this::sendGetRequest)
            .concatWith(Mono.fromCallable(() -> fetch(status)));

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM