gpt4 book ai didi

project-reactor - 存储先前映射结果的语法

转载 作者:行者123 更新时间:2023-12-03 15:57:24 29 4
gpt4 key购买 nike

我想知道在spring web-flux中使用先前映射结果的好方法,例如

Mono.just(request)
...
.flatMap(object0 -> createObject1(object0))
.flatMap(object1 -> createObject2(object1))
...

在这一点上获取 object0 的好方法,所以我们可以添加类似的东西
.flatmap(object0 -> createResult(object0))

我通过将这两种方法结合起来解决了这个问题,以便我们在全局变量中有 object0,但它看起来不太好。

另一个例子
Mono.just(request)
...
.flatMap(object0 -> createResponse(object))
.map(result -> mapToObject1(result))
.flatMap(object1-> saveObject1(object1))

此时如何返回“结果”?

您能否提供指向相同案例的好示例的链接,因为将这条线统一起来以使结果全局化的解决方案看起来并不好,因为它会产生模棱两可的方法?

最佳答案

您可以将多个对象包装成一个 reactor.util.function.Tuples , 像这样:

Mono.just(request)
...
.flatMap(object0 -> Tuples.of(object0, createObject1(object0)))
.flatMap(tuple -> createObject2(tuple.getT2()))
...

我不知道这是否真的是最佳实践,因为您的代码片段非常通用,我不能说这是否是底层 API 的问题。

关于project-reactor - 存储先前映射结果的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50723588/

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