29 lines
		
	
	
		
			615 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			615 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
// #docplaster
 | 
						|
// #docregion
 | 
						|
import { Hero } from './hero';
 | 
						|
import { HEROES } from './mock-heroes';
 | 
						|
import { Injectable } from '@angular/core';
 | 
						|
 | 
						|
@Injectable()
 | 
						|
export class HeroService {
 | 
						|
  getHeroes() {
 | 
						|
    return Promise.resolve(HEROES);
 | 
						|
  }
 | 
						|
 | 
						|
  // See the "Take it slow" appendix
 | 
						|
  getHeroesSlowly() {
 | 
						|
    return new Promise<Hero[]>(resolve =>
 | 
						|
      setTimeout(() => resolve(HEROES), 2000) // 2 seconds
 | 
						|
    );
 | 
						|
  }
 | 
						|
 | 
						|
  // #docregion get-hero
 | 
						|
  getHero(id: number) {
 | 
						|
    return Promise.resolve(HEROES).then(
 | 
						|
      heroes => heroes.find(hero => hero.id === id)
 | 
						|
    );
 | 
						|
  }
 | 
						|
  // #enddocregion get-hero
 | 
						|
}
 | 
						|
// #enddocregion
 |