Spring Webflux 在 Flux 中等待 Flux

Spring Webflux Wait for a Flux inside a Flux

这是场景,我有一个来自 ReactiveMongoDB 的 Flux 和另一个来自 WebClient 的 Flux,所以 我需要 Mongodb 中的每个项目,我在网络客户端中查找他的项目。

问题是,我一直在使用块来等待网络客户端的到来,这影响了性能。

如果我不使用 Block,响应是在没有来自 webClient 的情况下发送的,所以它可能不会等待这个 itens 来。

有没有什么办法可以让所有的电话都发出来,然后再等一下呢?

 return planetaRepository.findAll().flatMap(planetaVO -> {
                planetaServiceFacade.recuperarFilmesParticipados(planetaVO.getNome()).collectList().doOnNext(planetaVO::setFilmes).block();
                return Flux.just(planetaVO);
            });

您可以尝试使用 thenReturn

return planetaRepository.findAll().flatMap(planetaVO -> {
    return planetaServiceFacade.recuperarFilmesParticipados(planetaVO.getNome()).collectList()
                        .doOnNext(planetaVO::setFilmes)
                        .thenReturn(planetaVO);
});

我建议你不要用你的母语编写代码,如果你不是被迫的话。