Reactor Core - Mono - onError Flatmap

Reactor Core - Mono - onErrorFlatmap

有没有办法在 Mono 到 return a flatMap 而出现错误(onErrorFlatMap)

我的情况是,当处理后出现错误时我需要 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 是此用例的正确推荐模式。