当前位置: 首页 > news >正文

学习如何创建 Mono 实例

学习如何创建 Mono 实例

Flux

描述

AMono<T>是一个响应式流 Publisher,还增强了许多可用于生成、转换、编排 Mono 序列的操作符。
它是最多 Flux 可以发出 1 个<T>元素的特例:Mono 要么有值(包含元素),要么为空(不包含元素),要么失败(错误)。
AMono<Void>可用于仅对完成信号感兴趣的情况(相当于 Reactive Streams 中的 Runnable 任务完成)。
与 类似 Flux,运算符可用于定义异步管道,该管道将为每个 重新实例化 Subscription
请注意,某些更改序列基数的 API 将返回一个Flux(反之亦然,将基数减少到 1 的 API 将 Flux 返回一个 Mono)。

请参阅此处的 javadoc
mono
Mono 实际操作:

Mono.firstWithValue(Mono.just(1).map(integer -> "foo" + integer),Mono.delay(Duration.ofMillis(100)).thenReturn("bar")).subscribe(System.out::println);

实践

public class Part02Mono {//========================================================================================// TODO 返回一个空的Monopublic Mono<@NonNull String> emptyMono() {return Mono.empty();}//========================================================================================// TODO Return a Mono that never emits any signalpublic Mono<@NonNull String> monoWithNoSignal() {return Mono.never();}//========================================================================================// TODO 返回一个包含“foo”值的Monopublic Mono<@NonNull String> fooMono() {return Mono.just("foo");}//========================================================================================// TODO 创建一个发出IllegalStateException的Monopublic Mono<@NonNull String> errorMono() {return Mono.error(new IllegalStateException());}
}
public class MonoTest {@Testpublic void TestMono() {Part02Mono pt2 = new Part02Mono();pt2.emptyMono().subscribe(System.out::println);pt2.monoWithNoSignal().subscribe(System.out::println);pt2.fooMono().subscribe(System.out::println);pt2.errorMono().subscribe(System.out::println);}
}

原文:https://tech.io/playgrounds/929/reactive-programming-with-reactor-3/Mono

http://www.rkmt.cn/news/46244.html

相关文章:

  • 2025年超融合产品推荐排行榜
  • pandas介绍
  • 图像处理工具面面观:数字化时代的图片管理方案
  • 2025年北京cppm报考机构权威推荐榜单:cppm/cppm证书/cppm课程培训源头机构精选
  • 可见光通信(VLC)系统中单点光源功率分布模型
  • 静态方法(有static)和非静态方法
  • 2025年天津企业的宣传片拍摄机构权威推荐榜单:形象宣传片拍摄/活动宣传片拍摄/宣传片拍摄源头机构精选
  • DevExpress VCL v25.2新功能预览 - 发布全新基于AI的报表平台
  • table实现左右水平滚动
  • 2025年改善睡眠服务推荐排行榜:科技引领健康睡眠新时代
  • 实现表格合并
  • 2025.11.11
  • 基于ITIL流程的ITSM平台对比选型:如何选择最贴合自身需求、能真正落地ITIL价值的ITSM工具?
  • 支付宝对接问题归类
  • 详细介绍:.net AI MCP 入门 适用于模型上下文协议的 C# SDK 简介(MCP)
  • Topaz Video AI v1.0.5高级版:视频修复黑科技
  • 一根网线同时接网线和电话线方法
  • 2025年重庆抖音推广公司口碑排行榜前十强发布
  • AI是风口还是泡沫?一个独立开发者的冷思考
  • 详解 “增益”:从基础概念到电子测量应用
  • springboot集成qq邮箱发送邮件
  • CentOS安装JAVA环境
  • 第11周 预习、实验与作业:流与文件
  • 2025年衡水出租救护车公司权威推荐榜单:长途救护车出租/跨省救护车出租/市内救护车出租服务公司精选
  • 嵌入式系统的LCD多级菜单显示实现
  • 第五届算法、高性能计算与人工智能国际学术会议(AHPCAI 2025)
  • .在线调试快递
  • 详细介绍:【 苍穹外卖day6 | 微信小程序 】
  • 2025年电线电缆厂权威推荐榜单:亚洲电缆/阻燃电缆/光伏电缆源头厂家精选
  • 平面最近对(p1429)