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

Posted

技术标签:

【中文标题】我可以从 rxSwift map-Function 引发错误吗【英文标题】:Can I raise an Error from rxSwift map-Function 【发布时间】:2017-12-15 10:54:04 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

在 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)

【讨论】:

以上是关于我可以从 rxSwift map-Function 引发错误吗的主要内容,如果未能解决你的问题,请参考以下文章

如何动画从表格视图(rxswift)中删除单元格?

RxSwift 从一个创建多个 Observable

RxSwift 从 Observable 序列中的一项获取值

使用 RxSwift 从 ViewController 向 ViewModel 传递值

使用 RxSwift 从 UITableViewCell 发送回调到 UIViewController

使用 rxSwift 中的 tableView 单元将数据从视图模型传递到视图控制器