当前位置: 首页 > 知识库问答 >
问题:

Reactor Spring WebFlux:请解释last()和takeLast()方法之间的区别

茅才
2023-03-14

有人能解释一下last()和takeLast()方法的区别吗?正如文件所述:

last()-将完成信号之前观察到的最后一个元素作为单声道发出,或者如果源为空,则发出NosTouchElementException错误。对于被动版本,请使用takeLast(int)

TakeLast()-在此Flux完成之前发出最后N个值。

对我来说是一样的。我不能理解的差异。有人能给我举个简单的例子吗?提前感谢

共有1个答案

叶桐
2023-03-14

基里尔,

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()

 类似资料:
  • 问题内容: 方法上的参数指示应从模型中检索参数。如果模型中不存在该参数,则应首先实例化该参数,然后将其添加到模型中。一旦出现在模型中,则应从名称匹配的所有请求参数中填充参数的字段。WebDataBinder类将请求参数名称(包括查询字符串参数和表单字段)匹配,以按名称对属性字段进行建模。 将请求参数绑定到控制器中的方法参数。 我知道与不是同一件事,不是互斥的,不会扮演相同的角色,并且可以同时使用,

  • 问题内容: Django 有两种方法,和。该文档说: 与gregation()不同,annotate()不是终端子句。annotate()子句的输出是QuerySet。 它们之间还有其他区别吗?如果没有,那为什么存在呢? 问题答案: 我将重点放在示例查询而不是文档中的引用上。A计算整个查询集的值。计算查询集中每个项目的汇总值。 聚合 返回包含查询集中所有书籍的平均价格的字典。 注解 q 是书籍的查

  • 问题内容: 我听到有人说“ JVM一定是Java解释器,但Java解释器不一定是JVM”。真的吗? 我的意思是Java解释器和JVM之间有区别吗? 问题答案: 是,有一点不同。 Java虚拟机: 一种软件“执行引擎”,可安全,兼容地执行微处理器(无论是计算机还是其他电子设备中)的Java类文件中的字节码。 Java解释器: 交替解码并执行某些代码体中的每个语句的模块。Java解释器解码并执行Jav

  • 我试图使用@consume注释bean使用通过spring JmsTemplate发送的JMS消息。当使用JMSTemplate发送消息时,使用者不接收消息。 然而,当使用Camel的ProducerTemplate发送时,将接收消息。 @org.springframework.jms.annotation.jMSListener和@org.apache.camel.consume之间有什么区别?

  • 本文向大家介绍解释强实体和弱实体之间的区别,包括了解释强实体和弱实体之间的区别的使用技巧和注意事项,需要的朋友参考一下 强实体 强实体独立于架构中的任何其他实体。一个强大的实体总是有一个主键。在ER图中,强实体由矩形表示。两个强实体之间的关系用菱形表示。一组强实体称为强实体集。 弱实体 弱实体依赖于强实体,没有相应的强就不能存在。它具有与强大实体相关的外键。弱实体由双矩形表示。强实体和弱实体之间的

  • 我正在寻找Java 8中的“新”流和之前Java 7中的“旧”I/O流之间的区别的一个很好的解释。对于没有任何函数式编程知识的人来说,很难理解它们是完全不同的东西,特别是因为它们的名称是相同的。我知道Stream API是一个全新的东西,在某些方面甚至是革命性的,但在我幼稚的想法中,在这两种情况下,我们都处理“事物”的序列,无论是字节、数据还是对象... 谁能给个很好的解释吗?