java - Spring WebFlux Reactor - 在 Flux 中更新对象
问题描述
给定以下方法:
Flux<Person> getAllPerson(Criteria criteria)
如何通过更改通量中每个 Person 对象中的字段来处理通量?
getAllPerson(criteria)
.map(person -> person.setLastUpdated(new Date())
setLastUpdated(new Date()) 返回 void
我尝试了很多不同的方法,但我无法弄清楚使其编译的方法,例如:
getAllPerson(criteria)
.map(person -> {
person.setLastUpdated(new Date())
return person;
});
解决方案
您可以使用doOnNext
旨在执行这种副作用操作的运算符。
虽然,通常保持 Person 类不可变是一种更好的方法,当您需要修改某些内容时,您只需创建它的副本,在这种情况下,您将能够按预期使用 map 运算符。
推荐阅读
- ipu - PopART 中的损失张量被从图中剪除
- shopify - 使用变体产品添加 shopify 附加费
- vue.js - 如何使用依赖于数据、道具或计算中的字段的方法为 Vue mixin 实现干净的接口
- postgresql - 在 postgres 容器中创建数据库
- python - Pyomo中的无效约束表达式错误
- android - 启动应用程序时 Flutter 应用程序基础 apk 不存在错误
- javascript - 如何让我的 VueJA/Buefy 自动完成显示过滤选项?
- typescript - 'InputType[]' 类型的参数不可分配给'GenericType[]' Typescript 类型的参数
- fullcalendar - Fullcalendar 调度程序时间线 12 个月独特的插槽视图,带有附加列
- virtualization - 在 QEMU 上扩展 risc-v 指令