我可以从rxSwift map-Function中引发错误

时间:2017-12-15 10:54:05

标签: swift rx-swift

我可以从地图功能中引发错误,还是需要使用flatMap?应该将错误报告给onError。在RxJava中,我可以简单地抛出异常。 如何执行以下(伪)代码

observable.map( value -> {if (value.isIllegal) raiseError else return value.count})

显然可以使用flatMap,但我正在寻找地图解决方案。

1 个答案:

答案 0 :(得分:10)

在RxSwift中以相同的方式工作 -

        enum MyError: Error {
            case myError
        }

        Observable
            .from([1,2,3])
            .map { (element) -> Int in
                throw MyError.myError
            }
            .subscribe { event in
                os_log("%@", "\(event)")
            }
            .disposed(by: self.disposeBag)