Java 反应堆堆芯-单级-平面图

Java 反应堆堆芯-单级-平面图,java,spring,spring-boot,project-reactor,reactor,Java,Spring,Spring Boot,Project Reactor,Reactor,当出现错误时,Mono中是否有方法返回flatMap(onerrorflattmap) 我的场景是,当处理后出现错误时,我需要SubscriberContext,我需要将相同的错误向下传播 String test = "test"; Mono.just(test) .map(Integer::valueOf) .onErrorMap(error -> Mono.subscriberContext()

当出现错误时,
Mono
中是否有方法返回
flatMap
onerrorflattmap

我的场景是,当处理后出现错误时,我需要SubscriberContext,我需要将相同的错误向下传播

    String test = "test";
    Mono.just(test)
            .map(Integer::valueOf)
            .onErrorMap(error -> Mono.subscriberContext()
                    .map(context -> {
                        System.out.println(error + " --   " + context.getOrDefault("APPID", null));
                        return error;
                    }))
            .subscriberContext(of("APPID", "APP-101"))
            .block();
我发现这是解决问题的方法,但有更好的方法吗

String test = "test";
Mono.just(test)
        .map(Integer::valueOf)
        .onErrorResume(error -> Mono.subscriberContext()
                .flatMap(context -> {
                    System.out.println(error + " --   " + context.getOrDefault("APPID", null));
                    return Mono.error(error);
                }))
        .subscriberContext(of("APPID", "APP-101"))
        .block();

使用
onErrorResume
并最终返回一个
Mono.error
是此用例的正确且推荐的模式