java - Flux.onErrorContinue 参数类型
问题描述
有谁知道为什么Flux.onErrorContinue
参数为以下类型的原因:
public final Flux<T> onErrorContinue(BiConsumer<Throwable, Object> errorConsumer) {
...
}
代替
public final Flux<T> onErrorContinue(BiConsumer<Throwable, T> errorConsumer) {
...
}
?
解决方案
好的,我想我刚刚明白:
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
从字符串的通量中您无法知道导致问题的元素是整数,因此唯一的选择是将其视为对象...
推荐阅读
- javascript - 带有 firestore 和 useContext 的图库
- python - 已安装 python 导入模块
- markdown - 如何在代码块中插入代码块以在 Markdown 中举例?
- php - 如何在生产中为此授予权限:无法写入 wp-config.php 文件?
- flutter - 带有分页问题的颤振过滤器数据
- javascript - Firebase 通知发送成功,但我的服务人员没有显示
- python - 如何通过python从Windows缓存中获取文件缩略图?
- azure - 如何在 azure devops server 2019 上启用表单身份验证?
- php - AJAX 实时搜索正在重复结果
- java - 将由 2 个文字分隔的字符串拆分为 Java 中的对象