我正在使用Subject,switchMap并.next()在http.get()触发新请求时取消先前挂起的http调用.
问题是,当我处理http错误(如超时)时_postMPCHC.next(...),html中调用的方法不再起作用...我是否需要在出错时重新创建订阅?怎么样 ?
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) => {
let params: URLSearchParams = new URLSearchParams();
params.set('token', AppSettings.API_TOKEN);
params.set('prog', 'mhz');
params.set('prog', 'mpchc');
params.set('action', x); …Run Code Online (Sandbox Code Playgroud)