Flux.onErrorContinue 参数类型

Posted

技术标签:

【中文标题】Flux.onErrorContinue 参数类型【英文标题】:Flux.onErrorContinue argument type 【发布时间】: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) 
...

?

【问题讨论】:

【参考方案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

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

【讨论】:

以上是关于Flux.onErrorContinue 参数类型的主要内容,如果未能解决你的问题,请参考以下文章

SpringMVC -- 获得请求参数(@RequestBody)基本类型参数POJO类型参数数组类型参数集合类型参数(POJOajax)

颤振列表错误参数类型'List'不能分配给参数类型'String'

获取错误“未知”类型的参数不能分配给“错误”类型的参数 |空值'

给定传递给它的参数类型,如何确定函数参数的类型?

参数类型“Type”不能分配给参数类型“FirebaseUser”

类型提示,其中一个参数是另一个参数的类型