title: How can i retry after catch?
body: <p>How can i retry after catch ?</p>
  
  <p>I want to retry my observable after catch method automatically without calling another subscribe. How can i do that ?</p>
  
  <p>I have something like this for now:</p>
  
  <pre><code>intercept(observable: Observable&lt;Response&gt;): Observable&lt;Response&gt; {
          return observable.catch((err, source) =&gt; {                
                  return this.refreshToken()
                      .flatMap(res =&gt; {
                          if (res.status === 200) {
                              return observable;
                          }
                          return Observable.throw(new Error('Can\'t refresh the token'));
                      });
          });
      }
  </code></pre>
  
  <p>So when i have my observable and call <code>subscribe</code> on it it will catch error <code>-&gt;</code> refresh token <code>-&gt;</code> and then return observable where i have to call another subscribe. I dont want to do that. how can i make it work with that subscribe before ?</p>
  
  <p>The call example will looke something like this:</p>
  
  <pre><code>let request = this.http.request(url);
  intercept(request).subscribe(res =&gt; { //do something });
  </code></pre>