'Observable<any>' 类型上不存在属性 'catch'

新手上路,请多包涵

在使用 Http 服务的 Angular 2 文档页面上,有一个示例。

 getHeroes (): Observable<Stuff[]> {
  return this.http.get(this.url)
                  .map(this.extractData)
                  .catch(this.handleError);
}

我克隆了 angular2-webpack-starter 项目并自己添加了上面的代码。

我进口 Observable 使用

import {Observable} from 'rxjs/Observable';

我假设属性 Observable 也被导入( .map 有效)。查看了 rxjs.beta-6 的更改日志,没有提及 catch

原文由 BrianRT 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 842
1 个回答

警告:自 Angular 5.5 起,此解决方案已被弃用,请参阅下面 Trent 的回答

======================

是的,您需要导入运算符:

 import 'rxjs/add/operator/catch';

或者以这种方式导入 Observable

 import {Observable} from 'rxjs/Rx';

但在这种情况下,您导入所有运算符。

有关更多详细信息,请参阅此问题:

原文由 Thierry Templier 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题