请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

flux 不以流的形式输出

按照老师的代码复制了下,没有像流一样输出,而是等待一定时间,然后全部输出。项目jdk11,本机jdk8,但运行环境依赖于idea的环境,现在不知道还有什么问题,导致不能流输出

代码:

@GetMapping(value = "/3",produces = "text/event-stream")
public Flux<String> test3() {
   return Flux.fromStream(IntStream.range(1, 5).mapToObj(i -> {
       try {
           TimeUnit.SECONDS.sleep(1);
       } catch (InterruptedException e) {
       }
       return "flux " + i;
   }));
}


正在回答 回答被采纳积分+3

4回答

莫得感情的码农 2019-06-16 19:03:06

我用的是 Spring Boot 最新版本 2.1.5

/**
* 以 SSE 形式多次返回数据
* @return
*/

@GetMapping(value = "/3",produces = MediaType.APPLICATION_STREAM_JSON_VALUE)
public Flux<User> streamAll(){
   // 查出所有数据,每个元素延迟 1 秒展示
   return userRepository.findAll().delayElements(Duration.ofSeconds(1));
}

0 回复 有任何疑惑可以回复我~
集市养猫者 2019-06-14 08:11:46

版本问题,springboot 2.1.5.RELEASE 则会造成这个情况,其他不会,但具体原因暂时还不知道

0 回复 有任何疑惑可以回复我~
晓风轻 2019-06-07 13:46:39

5个太少,你试试500个。

0 回复 有任何疑惑可以回复我~
晓风轻 2019-05-30 15:52:23

代码贴一下。

0 回复 有任何疑惑可以回复我~
  • 提问者 靈寶 #1
    您好,代码已贴。
    回复 有任何疑惑可以回复我~ 2019-05-30 16:26:21
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信