Panda白话 Reactor -操作符-系列三

本文介绍了Reactor中用于数据扁平处理的三种操作符:flatMap、concatMap和flatMapSequential。通过弹珠图和示例代码,详细阐述了它们的区别,包括是否保证顺序和是否允许子流交错。flatMap不保证顺序,允许子流交错;concatMap保证原始流顺序,不允许子流交错;flatMapSequential则结合了两者的特性,立即订阅且有序,不允许交错。
摘要由CSDN通过智能技术生成

上回书我们讲了订阅流操作符 - 传送门

三、数据扁平处理操作符-flatMap VS concatMap VS flatMapSequential

扁平处理就是一个拍扁的动作,元素都放同一个层级
扁平处理前 - 流 - 3个元素【1、2、3】 、 【“hello”,“panda”】、【33,44,55】
扁平处理后 - 流 - 8个元素【1、2、3、“hello”、“panda”、33、44、55】
在这里插入图片描述

flatMap VS concatMap VS flatMapSequential

* flatMap = map(T -> Flux(R)) + flatten(拉平) 多个流合并成一个
 *      立即订阅内部流
 *      不保证顺序  - 内部流元素会交错
 *      允许不同子流交错
 * concatMap
 *      挨个订阅
 *      保证原始流顺序
 *      不允许子流交错
 * flatMapSequential
 *      立即订阅内部流
 *      对原始流排序-保证顺序
 *      不允许子流交错

1、flatMap

弹珠图:

  • 立即订阅内部流
    流里有两个元素:绿圆和黄圆,两个元素都
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值