X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fapp%2Fhero.service.ts;h=649b856d72174286f9b026a9ead013311b8acb42;hb=efb43dffc4e430abcd8e4a2191e23ecb8bf7c684;hp=7e0771a50dad343ed98dbbc01cb0ab1a2592a058;hpb=ef15a90ba71bcff7765f089af11e2ad22752a352;p=examples%2Fangular-tour-of-heroes diff --git a/src/app/hero.service.ts b/src/app/hero.service.ts index 7e0771a..649b856 100644 --- a/src/app/hero.service.ts +++ b/src/app/hero.service.ts @@ -1,6 +1,8 @@ import { Injectable } from '@angular/core'; +import { Observable, of, EMPTY } from 'rxjs'; import { Hero } from './hero'; import { HEROES } from './mock-heroes'; +import { MessageService } from './message.service'; @Injectable({ @@ -8,9 +10,20 @@ import { HEROES } from './mock-heroes'; }) export class HeroService { - constructor() { } + constructor(private messageService : MessageService) { } - getHeroes() : Hero[] { - return HEROES; + getHeroes() : Observable { + this.messageService.add('HeroService: fetching heroes...'); + return of(HEROES); + } + + getHero(id: number): Observable { + this.messageService.add(`HeroService: requested hero id=${id}`); + const found: Hero | undefined = HEROES.find(hero => hero.id === id); + if (found === undefined) { + return EMPTY; + } else { + return of(found); + } } }