在Angular 2文档页面上有一个使用Http服务的例子 .
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
.
2 回答
是的,您需要导入运营商:
或者以这种方式导入
Observable
:但在这种情况下,您导入所有运算符 .
有关详细信息,请参阅此问题:
对于RxJS 5.5,
catch
运算符现已弃用 . 您现在应该将catchError
运算符与pipe
结合使用 .对于您导入的每个RxJS运算符,包括
catchError
,您现在应该从'rxjs/operators'导入并使用管道运算符 .Http请求捕获错误的示例Observable
请注意,
catch
被catchError
替换,而pipe
运算符用于以与用于点链的方式类似的方式组成运算符 .有关详细信息,请参阅pipable(以前称为lettable)运算符上的rxjs文档 .