并行创建多个API调用,但不需要等待使用Spring Boot项目反应器的任何其他响应 [英] Create multiple API call parallelly but don't wait to any other response using spring boot project reactor

查看:0
本文介绍了并行创建多个API调用,但不需要等待使用Spring Boot项目反应器的任何其他响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

将给定的Monos压缩到一个新的Mono中,当所有给定的Monos都产生了一个Item时,将完成该Mono,但我想知道,我将并行调用多个API,但没有任何依赖,我希望在那个时候逐个公开可用的响应。

所以请帮忙解决这个问题。我已经使用了Mono.zip,但这是在等待所有响应到达。

推荐答案

只需Flux#merge。对出版商的订阅是迫切的(所有出版商一起订阅):

Flux.merge(Mono.just("response1").delayElement(Duration.ofSeconds(3)),
        Mono.just("response2").delayElement(Duration.ofSeconds(1)),
        Mono.just("response3").delayElement(Duration.ofSeconds(2)))
    .doOnNext(System.out::println)

输出将为:

response2
response3
response1

这篇关于并行创建多个API调用,但不需要等待使用Spring Boot项目反应器的任何其他响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆