2017-05-03 8 views
0

私はMoyaをネットワークリクエストのためのすばらしいアプリケーションで使用しています。Observableを購読しているときにonNextのケースでステータスコードを取得する方法

私は以前にalamofireを使用していましたが、私は投稿の作成、リクエストの取得および応答の読み方に精通しています。続き

は私が要求を行うと、私はまた、ステータスコードとresponse.dataを取得したい.next場合に観察

provider.request(.getDetails) 
      .mapArray(Post.self) 
      .subscribe { event -> Void in 
       switch event { 
       case .next(let post): 
       self.sampleText.text = posts.first?.title 
       case .error(let error): 
        print(error) 
       default: 
        break 
       } 
      }.addDisposableTo(disposeBag) 

に加入していたコードです。

ObservableのタイプがResponseの場合には可能ですが、私はそれをPostにタイプするとステータスコードを取得できません。

にはどうすれば任意の助けが理解されるであろう

.nextやエラーの場合、リクエストのステータスコードを取得することができます。ありがとうございました。

答えて

0

おそらくこの方法ですか? zip使用:

combineLatest
let provider: RxMoyaProvider<Api> = RxMoyaProvider<Api>() 
let observable1: Observable<Response> = provider 
    .request(.getDetails) 
    .shareReplay(1) 
let observable2: Observable<[Post]> = observable1 
    .map({ _ in() }) // You map to Post.self here 
    .shareReplay(1) 
Observable 
    .zip(observable1, observable2){($0, $1)} 
    .subscribe({ (event) in 
     // event has Response + Posts array 
    }) 

zip

と同じように助けることができます
関連する問題