Плоская карта в RxSwift Swift 5 - PullRequest
       29

Плоская карта в RxSwift Swift 5

0 голосов
/ 30 апреля 2019

Почему это работает, что было написано до 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 {}, он выдаетошибка с указанием

enter image description here

enter image description here

1 Ответ

1 голос
/ 02 мая 2019

Это потому, что компилятор не может определить тип возвращаемого вами значения flatMap.

Легко исправить, добавив тип после flatMap:

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