0
  1. 我正在使用 ParallelFlux 来运行许多任务。

  2. 但是当我使用 bodyToFlux 方法接收 webClient 响应时,它会合并所有输出响应,而不是一一获取。

  3. 我希望输出应该是一个一个而不是单个字符串,是否有任何其他方法而不是 bodyToFLux 需要使用。

    请求方法:

        Flux<String> responsePost = webClient.build()
                                //removed get,url and retrieve here                             
                                .bodyToFlux(String.class);
    
                    responsePost.subscribe(s -> {
                        //display response
                        });
    

    响应方法:

        public ParallelFlux<String> convertListToMap() {
                  //created list of string str
    
                return Flux.fromIterable(str)
                        .parallel(3)
                        .runOn(Schedulers.parallel())
                        .map( s -> {
                    //some logic here
                });
           }
    

    输出:

        parallel fulx reponse: springwebfluxparellelExample
    
4

1 回答 1

0
  1. 在这里,不是返回 ParallelFlux,而是创建一个带有要返回的变量的 ResponseBody 类,将您的响应分配给 ResponseBody 内的变量并将其返回给 API 函数的调用者。

    public ParallelFlux<ResponseBody> convertListToMap() {
                  //created list of string str
    
                return Flux.fromIterable(str)
                        .parallel(3)
                        .runOn(Schedulers.parallel())
                        .map( s -> {
                    //some logic here
                });
           }
    
    
    
     Flux<String> responsePost = webClient.build()
                                //removed get,url and retrieve here                             
                                .bodyToFlux(ResponseBody.class);
    
于 2020-09-17T06:48:26.940 回答