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));
});
}
}
});
这应该运行到循环中的另一个方法,但退出到最后
# 1 楼答案
使用
Flux<T> takeWhile(Predicate<? super T> continuePredicate)
函数指定“退出”条件。当您提供的谓词返回false
时,您将停止使用原始流中的元素。 Link to Flux javadoc