rxjs subject switchmap http error
<p>I'm using <code>Subject</code>, <code>switchMap</code> and <code>.next()</code> to cancel previous pending http calls when a new <code>http.get()</code> request is fired.</p>

<p>The problem is when i handle a http error (like timeout) the method <code>_postMPCHC.next(...)</code> called in html do not work anymore...
Do i need to recreate the subscription on error ? How ?</p>

<pre><code>import {Component} from '@angular/core';
import {NavController, NavParams, Toast} from 'ionic-angular';
import {Http, URLSearchParams} from '@angular/http';
import {AppSettings} from '../../appSettings';
import {Subject} from 'rxjs/Subject';


@Component({
  templateUrl: 'build/pages/video/video.html'
})
export class VideoPage {
  _postMPCHC: any= new Subject();

  constructor(private http: Http, private nav: NavController) {
    this.defineHttp();
  }

  defineHttp() {

    var sub = this._postMPCHC.switchMap((x: string) =&gt; {
      let params: URLSearchParams = new URLSearchParams();
      params.set('token', AppSettings.API_TOKEN);
      params.set('prog', 'mhz');
      params.set('prog', 'mpchc');
      params.set('action', x);

      return this.http.get(AppSettings.API_ENDPOINT, { search: params })

    }).timeout(5000, new Error('timeout exceeded')).subscribe(x =&gt; { },
      error =&gt; {
        let toast = Toast.create({
          message: 'Server response: ' + &lt;any&gt;error,
          duration: 3000,
          position: 'middle'
        });
        this.nav.present(toast);
      })

  }
}
</code></pre>