0
もっとエレガントな方法でコードを書く方法が不思議です... 2つのリクエストがあり、2つ目のリクエストは最初のリクエストを待たなければなりません。最初のものが失敗した場合、文全体が失敗するはずです。私は、共通の場所でエラーを捕捉する方法を知りたいのですか?あなたがエラー処理のための任意の場所はありません見たようObservablesをチェーン化してエラー処理のための共通の場所を作成する方法
enum TestError: ErrorType {
case Connection
}
private func runTest() {
rx_firstReq()
.subscribeNext() { _ in
return self.rx_secondReq()
.subscribeNext() { _ in
print("whole req sequence finished with success!")
}.addDisposableTo(self.myDisposeBag)
}.addDisposableTo(myDisposeBag)
}
func rx_firstReq() -> Observable<Bool> {
return Observable.create() { observable -> Disposable in
observable.onError(TestError.Connection) // We are assuming that first req gets failed
observable.onCompleted()
return NopDisposable.instance
}
}
func rx_secondReq() -> Observable<Bool> {
return Observable.create() { observable -> Disposable in
observable.onNext(true)
observable.onCompleted()
return NopDisposable.instance
}
}
...私は、それをモデル化し、この時点で私のチェーンつもりで、それぞれ次の要求は、次のインデントレベルを作成する方法が分からない...私の意見ではそれはRxSwiftの良い使用法ではありません...
..いくつかのヒントやリンクの例のコードは、一般的な場所での処理のエラーと私には素晴らしいです。