title: How to get catch after retryWhen?
body: <p>I want to retry <code>get</code> request a few times with a second delay in case of error, but if all attemps failed, then execute error handler.</p>
  
  <p>Following code retryes request, but catch is never executed. How can I fix it?</p>
  
  <pre><code>import {Response, Http} from '@angular/http';
  import {Observable} from 'rxjs/Rx';
  import 'rxjs/add/operator/catch';
  import 'rxjs/add/operator/map';
  </code></pre>
  
  
  
  <pre><code>this.http.get("/api/getData").map(data =&gt; {
    console.log('get')
    return data.json()
  })
  .retryWhen(err =&gt; {
    console.log('retry')
    return err.delay(1000).take(5)
  })
  .catch(err =&gt; {
    console.log('catch')
    this.handleHttpError(err)
    return err
  })
  .subscribe(data =&gt; {
    console.log('subscribe')
    console.log(data)
  })
  </code></pre>