Reactor Spring WebFlux:请解释 last() 和 takeLast() 方法之间的区别
Reactor Spring WebFlux: Explain please difference between last() and takeLast() methods
任何人都可以向我解释 last() 和 takeLast() 方法之间的区别吗?
正如文档所述:
last() - 将在完成信号之前观察到的最后一个元素作为 Mono 发出,或者如果源为空则发出 NoSuchElementException 错误。对于被动版本使用 takeLast(int)
takeLast() - 发出此 Flux 在完成之前发出的最后 N 个值。
我也一样。
我无法理解差异。
有人可以用一个简单的例子来解释我吗?
提前致谢
基里尔,
takeLast(int n)
接受表示流中应保留多少元素的整数
示例:
Flux.just(1, 2, 3, 4)
.takeLast(3)
.subscribe(System.out::println);
结果为
234
同时,last()
方法只针对最后一个发出的元素。
Flux.just(1, 2, 3, 4)
.last()
.subscribe(System.out::print);
输出为
4
结论:takeLast(1)
等于last()
任何人都可以向我解释 last() 和 takeLast() 方法之间的区别吗? 正如文档所述:
last() - 将在完成信号之前观察到的最后一个元素作为 Mono 发出,或者如果源为空则发出 NoSuchElementException 错误。对于被动版本使用 takeLast(int)
takeLast() - 发出此 Flux 在完成之前发出的最后 N 个值。
我也一样。 我无法理解差异。 有人可以用一个简单的例子来解释我吗? 提前致谢
基里尔,
takeLast(int n)
接受表示流中应保留多少元素的整数
示例:
Flux.just(1, 2, 3, 4)
.takeLast(3)
.subscribe(System.out::println);
结果为
234
同时,last()
方法只针对最后一个发出的元素。
Flux.just(1, 2, 3, 4)
.last()
.subscribe(System.out::print);
输出为
4
结论:takeLast(1)
等于last()