以下是angular.io http文档,如果我们有以下(可观察的)HeroService:
... TO STDOUT
然后,我们在组件级别订阅返回的Observable:
getHeroes (): Observable<Hero[]> {
return this.http.get(this.heroesUrl)
.map(this.extractData)
.catch(this.handleError);
}
private extractData(res: Response) {
let body = res.json();
return body.data || { };
}
我们是否能够在组件级别使用rxjs可观察运算符?我有兴趣使用过滤器来进一步细化(和重用)相同的http get。我尝试了下面的代码片段,但显然运算符失败了,因为HeroService返回getHeroes() {
this.heroService.getHeroes()
.subscribe(
heroes => this.heroes = heroes,
error => this.errorMessage = <any>error);
}
并且过滤器需要Observable<Hero[]>
。我可以使用flatmap并重建数组吗?
Observable<Hero>
谢谢