在React流中保留上下文

ma8fv8wu  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(255)

有人能帮我理解上下文是如何在React流中传递的吗。参见下面的代码示例:

Flux<Integer> expectedFluxWithContext = Flux.just(1, 2, 3, 4)
        .flatMap(item -> Mono.just(item).contextWrite(Context.of("traceId", item)))
        .doOnEach(signal -> System.out.println(signal.getContextView()));

当我运行上面的代码时,我得到了正确的数据,正如我所期望的,但是在 doOnEach 运算符上下文为空。
有谁能帮助我理解流中的上下文是如何共享的,以及我可以做些什么改变来实现这一点。

zmeyuzjn

zmeyuzjn1#

上下文只在管道中“向上”可用,因为它是在订阅时附加的,并且它不知道下游的任何内容。它并不意味着传递在管道执行过程中获取的东西,如果您想“传递”它,您可能想使用元组。
有关更多信息,我建议阅读React堆参考指南的相应部分:https://projectreactor.io/docs/core/release/reference/#context

相关问题