Rx 中的平面图Swift Swift 5

Flatmap in RxSwift Swift 5

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 返回值的类型。

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

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