Mono.defer()有什么作用?

Mono.defer()有什么作用?,第1张

Mono.defer()有什么作用?

这有点过分简化,但是从概念上讲,Reactor的来源要么是懒惰的,要么是渴望的。诸如HTTP请求之类的更高级的请求将被延迟评估。另一方面,最简单的人喜欢

Mono.just
Flux.fromIterable
渴望。

这样,我的意思是调用

Mono.just(System.currentTimeMillis())
将立即调用该
currentTimeMillis()
方法并捕获结果。所述结果仅在被订阅后才
发出
Mono
。多次订阅也不会更改该值:

Mono<Long> clock = Mono.just(System.currentTimeMillis());//time == t0Thread.sleep(10_000);//time == t10clock.block(); //we use block for demonstration purposes, returns t0Thread.sleep(7_000);//time == t17clock.block(); //we re-subscribe to clock, still returns t0

defer
运营商有没有使这个源懒惰,重新评估拉姆达的含量 每有一个新的用户时间

Mono<Long> clock = Mono.defer(() -> Mono.just(System.currentTimeMillis()));//time == t0Thread.sleep(10_000);//time == t10clock.block(); //invoked currentTimeMillis() here and returns t10Thread.sleep(7_000);//time == t17clock.block(); //invoke currentTimeMillis() once again here and returns t17


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5438999.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存