拦截 Angular2 中的错误 - catch 问题

Intercepting errors in Angular2 - issue with catch

我在 Thierry Templier 之后关注 ,但是 运行 在定义错误拦截器时遇到了一些麻烦(其他拦截器正在工作).

我有以下内容:

get(url: string, options?: RequestOptionsArgs): Observable<Response> {
  console.log('get...');
  return super.get(url, options).catch(res => {
    this.router.navigate(['Login']);
    return Observable.of(res)
  });
}

抛出:

vendor.min.js:38333 ORIGINAL EXCEPTION: TypeError: _super.prototype.get.call(...).catch is not a function

有什么想法吗?

我认为您可能忘记了在定义拦截器的模块中导入 catch 运算符 class:

import 'rxjs/add/operator/catch';