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

标签 javascript angular typescript rxjs

在使用 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 的内容。

最佳答案

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

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

是的,需要导入运算符:

import 'rxjs/add/operator/catch';

或者这样导入Observable:

import {Observable} from 'rxjs/Rx';

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

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

关于javascript - 类型 'catch' 上不存在属性 'Observable<any>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37073705/

相关文章:

javascript - 防止数组过滤器匹配与所需元素没有相同索引的元素

javascript - 正则表达式查找功能模块主体的起始行和列

javascript - 替换 FileReader 中的回车符

javascript - Angular - 如何从 JS 包中导入模块

node.js - Firebase Angular 4 基于 Node 环境初始化

javascript - 函数中的 return 不起作用

json - Angular 2 应用程序部署到 Azure 时出现错误 404

angular - TypeScript 编译中缺少spec.ts。请通过 'files' 或 'include' 属性确保它位于您的 tsconfig 中

Angular - 使用组件重新加载而不是整个页面导航到当前相同的 URL

javascript - VSCode 使用带有描述的快速选择列表项