kotlin - RxJava:忽略 Flowable 中的一些错误
问题描述
我有一个我想忽略Flowable<T>
的子类型和错误IgnoreThisError
(导致正常完成),所有其他错误都应该向下游传播。
科特林示例:
val f : Flowable<T> = ...
val g = f.onErrorComplete { it is IgnoreThisError }
这个函数 onErrorComplete 是我需要的并且不存在......
解决方案
像这样的东西应该工作
f.onErrorResumeNext {
if (it is IgnoreThisError)
Flowable.empty()
else
Flowable.error(it)
}
由于重载和 Java 对签名变化的模拟,我不确定 Kotlin 是否可以在此处正确推断类型,如果不是,您可能需要更明确:
f.onErrorResumeNext(Function<Throwable, Publisher<T>> {
if (it is IgnoreThisError)
Flowable.empty()
else
Flowable.error(it)
})
推荐阅读
- c++ - `wide-exec-charset` dose not change the charset of `wchar_t`
- java - using one maven project into another maven project
- lua - Istio EnvoyFilter that checks header for a valid token
- python - 如何从放大的 matplotlib.pyplot 图中读取新的限制?
- regex - Length of entire regex pattern
- javascript - Are same domain iframes faster than cross domain?
- php - Add PayPal and BACS to Klarna Checkout
- python - Django project doesn't work when setting project root url to not "/"
- javascript - 如何在没有浏览器的 node.js 中使用 FormData?
- javascript - 显示评论时换行