加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

project-reactor – Flux.map vs Flux.flatMap,用于1对1操作

发布时间:2020-12-15 16:21:14 所属栏目:百科 来源:网络整理
导读:我一直在看一些使用flatMap进行1对1操作的示例,例如: Flux.just("a","b","c") .flatMap(s - Mono.just(s.toUpperCase()) 当我想到的时候 Flux.just("a","c") .map(String::toUpperCase) (注意:我知道我没有添加订阅者;假设我打印它们或者其他东西) 这里使
我一直在看一些使用flatMap进行1对1操作的示例,例如:

Flux.just("a","b","c")
    .flatMap(s -> Mono.just(s.toUpperCase())

当我想到的时候

Flux.just("a","c")
    .map(String::toUpperCase)

(注意:我知道我没有添加订阅者;假设我打印它们或者其他东西)

这里使用flatMap是为了压扁返回的Mono,对吧?但为什么不直接使用如图所示的地图操作?是因为地图操作是同步的吗?我错过了什么用例?

解决方法

我不认为你错过任何一个.根据文档,当您需要在其中执行某些异步工作时,将使用flatMap.

因此,您在此处使用的操作是简单的映射,因为您只需将一个对象转换为另一个对象(小写为大写).

从我注意到,如果你想将一个物体变成另一个物体就足够了.如果你想要额外的异步工作,请使用flatMap.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读