【问题标题】:Flux.onErrorContinue argument typeFlux.onErrorContinue 参数类型
【发布时间】:2019-08-30 10:54:23
【问题描述】:

有人知道Flux.onErrorContinue 参数为以下类型的原因吗:

public final Flux<T> onErrorContinue(BiConsumer<Throwable, Object> errorConsumer) {
...
}

而不是

public final Flux<T> onErrorContinue(BiConsumer<Throwable, T> errorConsumer) {
...
}

?

【问题讨论】:

    标签: java flux project-reactor


    【解决方案1】:

    好的,我想我刚刚明白了:

    Flux<Integer> f1 = Flux.fromStream(Stream.of(1));
    
    Flux<String> f2 = f1.map(i ->{
        throw new RuntimeException("bang");
    });
    
    f2.onErrorContinue((t, o) -> {
        System.out.println("o = " + o.getClass());
    }).subscribe(System.out::println);
    

    输出:

    o = class java.lang.Integer
    

    从字符串的通量你无法知道导致问题的元素是一个整数,所以唯一的选择是将它视为一个对象......

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 1970-01-01
      • 2015-02-25
      • 2021-07-31
      • 2019-06-24
      • 2021-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多