title: RxSwift Chaining requests
body: <p>The problem I faced with is chaining 2 requests and handling errors.
  Below an example of my code:</p>
  
  <pre><code>func fbLogin() -&gt; Observable&lt;String&gt; { ... }
  
  func userLogin(request: Request) -&gt; Observable&lt;User&gt; { ... }
  
  let signedWithLogin = loginTaps
      .asDriver(onErrorJustReturn: ())
      .flatMapLatest { _ in
          return fbLogin()
          .map({ ReqestState&lt;String&gt;.loaded($0) })
          .asDriver(onErrorRecover: { error  in
              return Driver.just(.error(error))
          })
          .startWith(.loading)
       }
       .map({ UserEndpoint.socialLogin(token: $0) })
       .flatMapLatest { request in
           return userLogin(request: request)
           .map({ ReqestState&lt;User&gt;.loaded($0) })
           .asDriver(onErrorRecover: { error  in
                return Driver.just(.error(error))
           })
           .startWith(.loading)
       }
  
  signedWithLogin
      .drive(onNext: { response in
          print(response)
       })
      .disposed(by: disposeBag)
  </code></pre>
  
  <p>Problem is when I cancel the facebook login popup I send <code>observer.onError(FBLoginManagerError.canceled)</code> error. This error catch first .<code>asDriver(onErrorRecover: { error</code> method but does't pass to the <code>.drive(onNext: { response</code>method.</p>
  
  <p>How can I catch all errors in <code>.asDriver(onErrorRecover: { error</code> method?</p>