[英]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 方法调用数据库,但该数据尚未更新。 如果我再次拨打电话,我会得到更新的数据。
您需要concatWith
和fromCallable
以确保在 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.