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

懒洋洋地为项目Reactor的Mono评估switchIfEmpty

东门楚
2023-03-14

我正在寻找一种方法来检索替代单声道,以防原始单声道是空的。我找到的最接近的是Mono。switchIfEmpty,但我的问题是,我无法将lambda表达式传递给它,因此即使Mono具有非空值,也会调用它。这有点像可选。orElsevs可选。OrelGet

以下是一个示例:

return someService.findSomeElements()           // returns a Flux<Element>
                  .filter(this::checkIfMatches)
                  .singleOrEmpty()
                  .switchIfEmpty(...);          // <-- I want to use lambda here 

共有1个答案

张淳
2023-03-14

将替代的Mono包装在SwitchIf清空内部的Mono.defer中,只有当原始文件为空时,它才会被懒惰地实例化。

 类似资料:
  • 我是Spring框架的新手,我知道Spring在启动时会实例化单例bean的默认行为,称为热切实例化。这是一个很好的行为,因为它只在启动时暴露bean实例化中的任何问题。但有时这种行为是不可预料的,因此通过向bean定义中添加lazy init=“true”,可以将实例化推迟到第一个请求。 所以,我想知道我们可以使用什么样的场景来延迟实例化bean?。请举例说明。

  • 我想在服务类和当前实现中的两个功能如下: > 获取父级时“children”应为null 获取父级时应填写“children”:

  • 在Spring中,可以将bean配置为懒洋洋地初始化。Spring批处理作业也是(Spring管理的)bean。也就是说,当我配置类似于

  • 问题内容: 我最近读到了Python 3的一个好处是它很懒。那就更好了 而不是 我很好奇的是如何使用这种懒惰。如果生成映射对象,例如,如何访问生成的操作/列表中的特定元素。在我所见过的几乎所有文档中,他们都会做类似或的事情(据我所知),它放弃了惰性概念,因为它隐式将地图转换为列表。 我想我正在寻找的是能够以与我可以懒惰地懒惰地生成地图对象类似的方式使用地图对象的能力,并且可以在没有巨大计算量的情况

  • 我尝试用java-hibernate-spring实现一个服务器REST,它返回一个JSON。 我有一个多对多关系图。 我解释得更好,我有一个供应商,有一个配料列表,每种配料都有一个供应商列表。 我创建了这个表: 然后我有配料模型: 然后我有供应商模型: 服务 供应对象 和IdAbstractObject “无法写入JSON:未能懒洋洋地初始化Role:myPackage.Comprigue.Co

  • 在我看来,这需要一种新类型的Spring ApplicationContext,它支持“热”刷新,但只是为了添加新的bean定义。先前存在的bean定义不会被移除/重新加载,也不会在随后的refresh()调用中由BeanFactoryPostProcessors重新处理,并且先前存在的单例不会被销毁! 这已经存在了吗?。有没有我忽略的更好的解决方案?