当前位置: 首页 > 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.jsqmd.com/news/37297/

相关文章:

  • go_micro框架的安装和使用 - 详解
  • 2025年超融合产品推荐排行榜
  • N-gram
  • pandas介绍
  • 图像处理工具面面观:数字化时代的图片管理方案
  • 实用指南:前端性能优化?
  • 2025年北京cppm报考机构权威推荐榜单:cppm/cppm证书/cppm课程培训源头机构精选
  • 可见光通信(VLC)系统中单点光源功率分布模型
  • 2025年云桌面公司排行榜
  • vue3.0实现数组分组效果
  • 如何管理你的订阅服务?一个工具带来的财务新视角
  • 静态方法(有static)和非静态方法
  • 2025年天津企业的宣传片拍摄机构权威推荐榜单:形象宣传片拍摄/活动宣传片拍摄/宣传片拍摄源头机构精选
  • 【URP】Unity[后处理]阴影,中间调,色差Shadows,Midtones,Highlights
  • 2025 年 11 月深圳企业服务实力派推荐榜:深圳网站建设,深圳外贸独立站推广,阿里巴巴/1688店铺代运营,短视频拍摄运营,商标注册,小程序开发公司精选
  • 2025年深圳连锁门店神秘顾客暗访机构权威推荐榜单:调查汽车神秘顾客/门店巡检神秘顾客/汽车经销商暗访源头机构精选
  • ubuntu20.04更换为国内源
  • DevExpress VCL v25.2新功能预览 - 发布全新基于AI的报表平台
  • 麒麟v10 x86_64 离线安装mosquitto
  • 2025年深圳神秘顾客研究机构权威推荐榜单:神秘顾客调查/神秘顾客暗访/市场研究源头机构精选
  • table实现左右水平滚动
  • 2025年改善睡眠服务推荐排行榜:科技引领健康睡眠新时代
  • 实现表格合并
  • 实用指南:Android studio 高效使用
  • 2025年11月中国抗衰老设备技术排行榜:前沿科技与健康衰老新选择
  • Windows 下安装 swoole 图文教程(php)
  • 2025.11.11
  • 银河麒麟高级服务器操作系统V10SP1(ARM)【auditd服务内存泄露】问题解决方法
  • 【2025-11-10】中年篮球
  • 基于ITIL流程的ITSM平台对比选型:如何选择最贴合自身需求、能真正落地ITIL价值的ITSM工具?