我先上代码,问题的话我写在了对应的代码上边
heroes: Hero[];
getHero(id: number): Observable<Hero> {
/**其实就是这段代码出现了问题,我调用的inMemoryDataService的个体DATa方法之后,获取到的是一个Observable数据流,但是为什么后边进行订阅之后我在console.log中输出的this.heroes是undefined呢*/
this.inMemoryDataService.getData().subscribe(heroes=>this.heroes=heroes);
console.log(this.heroes);
return of(this.heroes.find(hero => hero.id === id));
}
这是inMemoryDataService中的getData方法
getData():Observable<Hero[]>{
let api ='http://localhost:8888/net/user/getUserList';
return this.http.get<Hero[]>(api) .pipe(
catchError(this.handleError<Hero[]>('getHeroes', []))
);
}
查过了好多资料,总感觉这个地方是因为线程出的问题,可是也不知道应该怎么解决,各位好汉,救救孩子吧!