请稍等 ...
×

采纳答案成功!

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

关于您所说的惰性求值因此不会阻塞controller线程

   //webflux
    @GetMapping("/2")
    private Mono<String> get2(){
        log.info("get2 start");
        Mono<String> mono = Mono.fromSupplier(()->createStr());
        log.info("get2 end");
        return mono;
}

这段代码,既然说Mono返回的是一个流,因为惰性求值没有最终操作不会阻塞controller线程,那既然是惰性求值,并且没有最终操作,那么中间操作就不会执行,但是访问:
图片描述
可以看到执行了createStr?既然这个方法处于Mono之中,既然Mno是一个流,没有最终操作
那为什么会执行呢?

正在回答

1回答

不是都请求了吗?当然执行了。

0 回复 有任何疑惑可以回复我~
  • 提问者 牙龈守护者 #1
    我的意思是:既然说返回 mono,实际上是返回一个流,那么流的最终操作在哪里呢?
    回复 有任何疑惑可以回复我~ 2019-04-19 09:39:36
  • 晓风轻 回复 提问者 牙龈守护者 #2
    spring框架会执行
    回复 有任何疑惑可以回复我~ 2019-04-19 09:47:50
  • 提问者 牙龈守护者 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-04-19 15:07:10
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信