You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
807 B

2 years ago
import { Injectable } from '@angular/core';
import { HttpClient } from "@angular/common/http";
import { Observable, from } from "rxjs";
import { Race } from '../models/race.model';
@Injectable({
providedIn: 'root'
})
export class RacesService {
constructor(private httpClient: HttpClient) {
}
getAllRaces(): Observable<Array<Race>> {
return this.httpClient.get<Array<Race>>("assets/races.json");
}
getRace(id: string): Observable<Race | undefined> {
let promise = new Promise<Race|undefined>((resolve, reject) => {
this.httpClient.get<Array<Race>>("assets/race.json").subscribe(data => {
for(let race of data) {
if(race.id == id) {
resolve(race);
}
}
reject(undefined);
});
});
return from(promise);
}
}