gpt4 book ai didi

java - Spring Reactor : How to zip two Flux, 但有顺序?

转载 作者:行者123 更新时间:2023-12-02 03:11:19 28 4
gpt4 key购买 nike

假设我有两个外部服务。假设我们有一个项目 Foo,serviceA 返回项目 A,而 serviceB 返回项目 B

我想要得到的是 (A a, B b) 形式的处理程序,其中 ab 是同一查询项对应的对象。

Flux::zip 是迄今为止我找到的最接近的东西,但它并不完全是我正在寻找的东西,因为没有 promise 订单。我正在寻找类似CompletableFuture::allOf的东西

我总是可以通过使这两个调用同步来作弊,但这会剥夺响应式(Reactive)编程的所有乐趣。或者,我可以管理一些缓存并仅在两个项目到达时才发出记录,但我更喜欢让事物无状态。

最佳答案

如果您使用Flux.flatMap(f1)Flux.flatMap(f2) zip之前或期间操作,检查是否有这些flatMap正在执行其他异步方法,例如 API 端点调用。在这种情况下,您可能需要将它们替换为 Flux.flatMapSequential(f1)Flux.flatMapSequential(f2)保持 flux 的顺序转换后的元素。

关于java - Spring Reactor : How to zip two Flux, 但有顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55893640/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com