31 lines
700 B
TypeScript
31 lines
700 B
TypeScript
|
import { Injectable } from '@angular/core';
|
||
|
|
||
|
export class Crisis {
|
||
|
constructor(public id: number, public name: string) { }
|
||
|
}
|
||
|
|
||
|
const CRISES: Crisis[] = [
|
||
|
new Crisis(1, 'Dragon Burning Cities'),
|
||
|
new Crisis(2, 'Sky Rains Great White Sharks'),
|
||
|
new Crisis(3, 'Giant Asteroid Heading For Earth'),
|
||
|
new Crisis(4, 'Procrastinators Meeting Delayed Again'),
|
||
|
];
|
||
|
|
||
|
const FETCH_LATENCY = 500;
|
||
|
|
||
|
@Injectable()
|
||
|
export class CrisisService {
|
||
|
|
||
|
getCrises() {
|
||
|
return new Promise<Crisis[]>(resolve => {
|
||
|
setTimeout(() => { resolve(CRISES); }, FETCH_LATENCY);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
getCrisis(id: number | string) {
|
||
|
return this.getCrises()
|
||
|
.then(heroes => heroes.find(hero => hero.id === +id));
|
||
|
}
|
||
|
|
||
|
}
|