2017-11-11 13 views
1

私はRxSwiftRxSwift:エクストラ引数 'のonError' コールで

worthReacting.flatMap{ (userSearch) in 
     translator.getTranslation(ofWord: userSearch) 
     }.subscribe(
      onSuccess: {(dataModel) in 
       state.value = .translation(word: dataModel.definition, 
              translations: dataModel.translations) 
     }, 
      onError: {(error) in 
       state.value = .networkError 
     }, 
      onCompleted: { 
       state.value = .unknownWord 
     }).disposed(by: disposeBag) 

worthReactingスイフト4のコード次ているが、私はエラー

を構築取得しています Observable<String>
translator.getTranslation戻り

Maybe<DataModel>の種類を持っています

余分な引数 'onError'

答えて

0

MaybeObservableにフラットマップは、Observableを生成します。 ObservableonSuccessイベントを発行することはできませんが、代わりにonNextを発行します。次のコードは動作します:

worthReacting.flatMap{ (userSearch) in 
     translator.getTranslation(ofWord: userSearch) 
     }.subscribe(
      onNext: {(dataModel) in 
       self.state.value = .translation(word: dataModel.definition, 
              translations: dataModel.translations) 
     }, 
      onError: {(error) in 
       self.state.value = .networkError 
     }, 
      onCompleted: { 
       self.state.value = .unknownWord 
     }).disposed(by: disposeBag) 
関連する問題