Java 弹簧Webflux在焊剂中等待焊剂

Java 弹簧Webflux在焊剂中等待焊剂,java,spring,spring-webflux,project-reactor,spring-mongodb,Java,Spring,Spring Webflux,Project Reactor,Spring Mongodb,这是一个场景,我有一个流量来自一个ReactiveMongoDB,另一个来自WebClient,soo 对于Mongodb中的每个项目,我需要在webclient中查找他的项目 问题是,我一直在使用block等待webclient itens的到来,这会影响性能 如果我不使用Block,那么响应是在没有来自webClient的itens的情况下发送的,所以它可能不会等待这个itens的到来 有没有办法在这个itens上拨打所有的电话,然后等待 return planetaRepository.

这是一个场景,我有一个流量来自一个ReactiveMongoDB,另一个来自WebClient,soo 对于Mongodb中的每个项目,我需要在webclient中查找他的项目

问题是,我一直在使用block等待webclient itens的到来,这会影响性能

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

有没有办法在这个itens上拨打所有的电话,然后等待

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

您可以使用
然后return

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

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

更好:使用
map
列表加载到
planetaVO
,一次返回(而不是
doOnNext
+
然后返回