flatmap 相关问题

flatMap是一个Scala函数,它通过应用一个函数来工作,该函数返回列表中每个元素的序列,并将结果展平为原始列表。

根据官方leanring指南,关于flink 1.17.2中的RichCoFlatMapFunction的错误

etl 连接的流 我只是尝试了flink官方指南书提供的代码。 公共类控制流{ 公共静态无效主(字符串[] args)抛出异常{

回答 1 投票 0

组件变体的笛卡尔组合

假设我有一个对象,指定按钮组件的输入以及该输入的可能值。 const 按钮变体 = { colorMode: ['暗时','亮时'], 尺寸:['小','中','...

回答 1 投票 0

Flux .then() 在完成信号之前运行

我尝试用 Flux 流对象做一些事情,并在处理所有元素后做一些最后的工作并完成 Mono,但它不起作用: // 来自网络请求的数据和 ID // 我的存储库...

回答 3 投票 0

在 Java 8 中使用整数列表处理嵌套 HashMap

我想在Java 8中做一个简单的操作。下面是代码 列表 lst = Arrays.asList(1,2,3); Map 内部 = new HashMap(); inner.put("首先&...

回答 1 投票 0

在 Java 8 中使用 Inegers 列表处理嵌套 HashMap

我想在Java 8中做一个简单的操作。下面是代码 列表 lst = Arrays.asList(1,2,3); Map 内部 = new HashMap(); inner.put("首先&...

回答 1 投票 0

C++23 flat_set 中的元素是排序的还是堆?

我阅读了提案文件 p1222r4.pdf,但如您所知,它们有时有点难以阅读。我还找到了社区页面 cppreference 和 boost 文档。 我知道我可以迭代...

回答 1 投票 0

在转换 Web 客户端响应时使用 FlatMap 相对于 Map 有什么优势?

我正在使用网络客户端使用第三方 REST API。我需要转换响应并异步返回结果而不阻塞。 我的理解是 flatMap 是异步的,而 map 是

回答 1 投票 0

如果满足异步条件,如何映射通量停止?

考虑我有大量整数,并且此方法模拟异步外部 api 数据检索,它可以为某些特定的未知输入返回空响应: 公共静态单声道 考虑到我有大量的整数,并且此方法模拟异步外部 api 数据检索,它可以为某些特定的未知输入返回空响应: public static Mono<String> getApiData(int i) { if (i == 3) return Mono.empty(); // i'm using 3 just as an example return Mono.just(String.valueOf(i * 2)); } 这些方法将根据结果执行 getApiData 输出: // when getApiData returns non empty mono public static Mono<Boolean> updateDatabaseWithApiData(int apiInput, String apiOutput) { System.out.println(apiInput + " -> " + apiOutput); // lots of unrelated logic return Mono.just(true); } // when getApiData returns empty mono public static Mono<Boolean> logFailure(int apiInput) { System.out.println(apiInput + " -> failure"); // registering errors logs return Mono.just(false); } 用这个我想编写一个像这样的方法Mono<Boolean> processFluxUntilFailure(Flux<Integer> flux),它对每个元素应用getApiData,并且在发生故障时停止。那么如果至少有一个元素达到updateDatabaseWithApiData,则返回Mono.just(true),否则返回Mono.just(false)。 所以我会得到这个输出: public static void main(String[] args) { Flux<Integer> flux = Flux.just(1, 2, 3, 4, 5); processFluxUntilFailure(flux).subscribe(value -> System.out.println("result " + value)); } 所需输出: 1 -> 2 2 -> 4 3 -> failure result true 因为我们已经处理了(至少 1)2 个成功的元素。 考虑到: 这是我真正问题的简化版本 我无法预测数据何时会为空 getApiData 我无法改变所描述的方法,只能processFluxUntilFailure 我试过这个: public static Mono<Boolean> processFluxUntilFailure(Flux<Integer> flux) { return flux.flatMap(apiInput -> getApiData(apiInput) .flatMap(apiOutput -> updateDatabaseWithApiData(apiInput, apiOutput)) .switchIfEmpty(Mono.defer(() -> logFailure(apiInput))) ) .reduce((b1, b2) -> b1 || b2); } 这导致了 1 -> 2 2 -> 4 3 -> failure 4 -> 8 5 -> 10 result true 我怎样才能从这次尝试中获得我想要的输出?换句话说,如果满足某些异步条件,我如何“停止”flatMap? 如果有任何不那么冗长的方法,我很乐意: public static Mono<Boolean> processAndUpdate(Flux<Integer> flux) { return flux .flatMap(apiInput -> getApiData(apiInput) .flatMap(apiOutput -> updateDatabaseWithApiData(apiInput, apiOutput)) .switchIfEmpty(Mono.defer(() -> logFailure(apiInput))) ).<Boolean>handle((b, sink) -> { if (b) sink.next(true); else sink.complete(); }) .defaultIfEmpty(false) .reduce((b1, b2) -> b1 || b2); } 给我这个输出: 1 -> 2 2 -> 4 3 -> failure result true 显然 flatMap 和 handle 并没有急于评估,将它们放在一起就成功了

回答 1 投票 0

在 Javascript 中使用 Promise.all 在 flatMap 中编写条件语句的正确方法是什么

我正在使用 Promise.all 开发一个 flatMap; flatMap 里面有两个条件,originalObj 是用来检查originalObj.state 是否为 false,然后执行 insertRealStartTime...

回答 1 投票 0

为什么将 flatMap 与异步函数一起使用不返回展平数组?

我想了解为什么使用 .flatMap() 与异步不会返回展平数组。 例如,对于 Typescript,这将返回一个数字数组: 我知道 Promise.all 和 async 对

回答 2 投票 0

使用带有java流的唯一字段合并两个列表

首先,我知道数据库设置不正确,但我没有机会更改它。我将发送给公司的消息和回复消息保存在同一个表中。也就是说,如果一个com...

回答 0 投票 0

响应式平面图发送不使用“并发”参数缩放的 http 请求

我想要达到的目标: 将尽可能多的 http 请求并行地从一个积极的 Flux 发送到一个非常可靠的第三方服务 背景: 第三方服务很靠谱。。。

回答 1 投票 0

从列表中获取第一个元素的列表?

我有以下数据类 数据类 AdDetails(val adMedia: List) 数据类 AdMedia(val adMetaInfo:AdMetaInfo,val adUri:List) 数据类 AdUri(val width:String...

回答 1 投票 0

Java Stream Optional:如何将多个内部 Optional 当前条件转换为 Optional.flatMap()

我正在尝试将多个 Optional isPresent 转换为 Optional.flatMap 但不知道如何执行此操作。 private Optional getCommit1 (String id, Integer number) { **可选<

回答 0 投票 0

Reactor的FlatMap是异步的吗

我是反应式编程的新手,我正在通过 micronaut 框架和 kotlin 使用反应堆。我正在尝试了解响应式编程的优势以及我们如何使用 Map 和 F 实现它...

回答 1 投票 0

当 Java 流中有 Map 列表时,如何使用平面映射将 HashMap 键值扁平化为一组

List> list =new ArrayList(); Map map1 =new HashMap(); List 值 =new ArrayList(); 值. 添加(“测试”) 值.add("...

回答 2 投票 0

如何人工完成一个流?

我有一个整数流,我需要使用一个结构来处理,该结构使用 CurrentValueSubject 来知道是否允许它进行处理。由于 CurrentValueSubject 不...

回答 0 投票 0

flatMap后引用原始对象

flatMap后是否可以引用原始对象? 例如: .flatMap(passenger-> passenger.getAncillaries().stream()) ...

回答 3 投票 0

Javascript/node 错误:flatMap 无法正常工作

我在写版本新闻时遇到了一些我认为是 javascript 中的错误。 代码: const arrValor = [1,2,3,4,5,,6,[7,8,9,[10,11,[111,222]],12],13,14]; //控制台日志(“

回答 2 投票 0

Dispatcher 在任何错误后都没有订阅者

我们有一个 spring-cloud-stream 反应函数来处理消息事件,flux 有一个 flatMap 来使用 WebClient 进行外部 http 调用。每次 WebClient 出错时,MessageHandler o...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.