【问题标题】:Flatmap in RxSwift Swift 5RxSwift Swift 5 中的平面图
【发布时间】:2019-04-30 05:51:47
【问题描述】:

这是如何工作的,它是在 Swift 5 之前编写的?

viewmodel
      .postSeekerAvatar(data: data)    
      .flatMap {
        self.viewmodel.updateSeeker(withFirstName: params.firstName, lastName: params.lastName, isBusiness: params.isBusiness, abn: "none", address: params.address)
      }
      .subscribe(onSuccess: { (_) in
        SVProgressHUD.dismiss()
        self.performSegue(withIdentifier: SegueConstants.toProfileForm, sender: self)
      }) { (error) in
        SVProgressHUD.showDismissableInfo(with: error.message)
    }.disposed(by: disposeBag)

但是一旦我更新到 Swift 5,代码不会抛出错误,但是当我使用 .flatMap {} 闭包时,它会抛出错误声明

【问题讨论】:

  • 您必须提供更多上下文。你的方法有哪些不同的返回类型?
  • 返回的类型相同,只是数据不同。本质上我的问题是 .flatMap{} 在我更新到 swift 5 后如何抛出错误。

标签: swift rx-swift swift5


【解决方案1】:

这是因为编译器无法推断出你的 flatMap 返回值的类型。

在 flatMap 之后添加类型很容易修复:

   .flatMap { _ -> Observable<Whatever> in 
       ...
   }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多