首页 > 解决方案 > 保留 observable 的错误并返回所有值

问题描述

你好我有类似的东西:

Observable.fromIterable(0..4)
        .map { if (it == 3) throw Exception() else it }
        .subscribe { println(it) }

我希望它返回除一个以外的所有值(由于错误,它 == 3 必须被跳过)。怎么可能做到?

标签: kotlinrx-java

解决方案


例如,可以通过包装来完成Maybe

Observable.fromIterable(0..4)
    .flatMapMaybe {
        Maybe.fromCallable { if (it == 3) throw Exception() else it }
            .onErrorComplete()
    }
    .subscribe { println(it) }

推荐阅读