gpt4 book ai didi

java - filterWhen 和 hasElement 的否定

转载 作者:搜寻专家 更新时间:2023-11-01 02:19:34 24 4
gpt4 key购买 nike

我正在学习 Flux 和 Mono,但在尝试检查 redis 中是否不存在键时遇到了困难。我需要过滤我的助焊剂,如果键存在,我想删除该元素。我在文档中找不到执行此操作的方法,如果 key 存在,我所能过滤的就是保留。我需要相反的东西。

client.request(MWS_EU, Orders, ordersRequest, ListOrdersResponse.class)
.flatMapIterable(listOrdersResponse -> listOrdersResponse.getOrders())
.filterWhen(order -> isNewOrder(order.getOrderId()))
.flatMap(...)

检查redis:

private Mono<Boolean> isNewOrder(String orderId) {
return redisOrders.opsForValue().get(orderId).hasElement();
}

过滤我的 Flux 以仅在键不存在时保留元素的干净方法是什么?

我不想使用block()

最佳答案

您可以将方法更改为以下内容:

private Mono<Boolean> isNewOrder(String orderId) {
return redisOrders.opsForValue().get(orderId).hasElement().map(b -> !b);
}

通过使用 map()方法,您可以反转 hasElement() 返回的值。

关于java - filterWhen 和 hasElement 的否定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51438327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com