21 lines
		
	
	
		
			444 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			444 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
// #docregion
 | 
						|
import { Injectable }  from '@angular/core';
 | 
						|
 | 
						|
import { Hero }        from './hero';
 | 
						|
import { HeroService } from './hero.service';
 | 
						|
 | 
						|
// #docregion service
 | 
						|
@Injectable()
 | 
						|
export class HeroCacheService {
 | 
						|
  hero: Hero;
 | 
						|
  constructor(private heroService: HeroService) {}
 | 
						|
 | 
						|
  fetchCachedHero(id: number) {
 | 
						|
    if (!this.hero) {
 | 
						|
      this.hero = this.heroService.getHeroById(id);
 | 
						|
    }
 | 
						|
    return this.hero;
 | 
						|
  }
 | 
						|
}
 | 
						|
// #enddocregion service
 |