在使用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
。
4条答案
按热度按时间hsgswve41#
=====================
是,需要导入操作员:
或者按以下方式导入
Observable
:但在本例中,导入所有操作符。
请参阅此问题了解更多详细信息:
3duebb1j2#
在RxJS 5.5+中,
catch
运算符现在被弃用。现在您应该将catchError
运算符与pipe
结合使用。RxJS v5.5.2是Angular 5的默认依赖版本。
对于您导入的每个RxJS运算符,包括
catchError
,您现在应该从“rxjs/operators”导入并使用管道运算符。捕获Http请求错误的示例可观察
catch
被替换为catchError
,并且pipe
运算符用于组合运算符,其方式与您习惯使用点链的方式类似。*有关详细信息,请参见pipable(以前称为lettable)运算符的rxjs文档。
eblbsuwk3#
在Angular 8:
xzv2uavs4#
检查您正在使用的Angular 版本及其相关内容:从“rxjs”导入{可观测};或从'rxjs/Rx'中导入{Observable};