java - 在不执行 map 或 flatMap 的情况下退出循环
问题描述
在迭代 Flux 代码时,我遇到了退出到方法末尾的问题。
我已经尝试了所有的可能性,但没有运气
Flux ItemInventoryModelFlux = InventoryService .findBIdAndListOfItems(storeId, itemList);
Mono<Object> obj = storeItemInventoryModelFlux.collectList().flatMap(storeItemInventoryModels -> {
response.getAdjustedDemand().stream().forEach(adjustedDemand -> {
if (bpnList.contains(adjustedDemand.getBpn())) {
if (true) {
storeItemInventoryModels.stream().forEach(storeItemInventoryModel -> {
isRegularItem(storeItemModelFlux,bpnList.get(0));
});
}
}
});
这应该运行到循环内的另一个方法,但退出到最后。
解决方案
使用Flux<T> takeWhile(Predicate<? super T> continuePredicate)
函数指定“退出”条件。当您提供的谓词返回时,false
您将停止使用原始流中的元素。
链接到 Flux javadoc
推荐阅读
- mysql - Mysql 中的 else if 函数,得到 42000 错误
- python - 如何克服 TypeError: unhashable type: 'list' in this program
- c# - 在 C# 中,如何从 Azure 服务总线队列中获取所有消息?
- go - 如何使用 Gorilla 处理 DELETE 调用的预检请求?
- excel - 将文本从 excel 提取到 word 时错误对象变量或块变量未设置错误 91 的原因
- sql - 在雪花 SQL UDTF 中传递动态参数
- delphi - Delphi 软件包安装错误:动态链接库 (DLL) 初始化例程失败
- spring-security - 如何为 GraphQL API 配置 spring-security?
- python - 元组一维上 for 循环的向量化
- python - xarray:动态选择函数以减少数组