angular - Anropa json-fil från URL
Jag försöker hämta en JSON-fil från en URL och få data. Men inget fel och inget fungerar. Jag har ingen aning om hur jag ska lösa det.
service
export class JsonService {
public getMenuData(): Observable<any> {
return new Observable((observer) => {
this.http.get('https://demored.ddns.net:50443/demored/path_image/menu.json').subscribe((response)=> {
observer.next(response);
observer.complete();
});
});
}
Komponent
ngOnInit() {
this.getJson();
}
getJson(){
this.jsonService.getMenuData().toPromise().then(data => {
this.menuJson = data;
console.log("Menu from json file ",this.menuJson);
}).catch((err) => {
console.log('error in fetching data',err);
});
}
Svar #1
Du gör GET-förfrågan på tjänsten, där du omvandlar förfrågan till ett löfte med toPromise(). Därifrån kan du i vilken komponent som helst anropa metoden för tjänsten som deklarerats i konstruktören this.serviceJson() och lösa upp löftet med .then() eller .catch()
export class JsonService {
getMenuData(): Promise<any> {
return this.http.get<any>('https://demored.ddns.net:50443/demored/path_image/menu.json').toPromise()
}
komponent
ngOnInit() {
this.getJson();
}
async getJson(){
await this.jsonService.getMenuData().then(data => {
this.menuJson = data;
console.log("Menu from json file ",this.menuJson);
}).catch((err) => {
console.log('error in fetching data',err);
});
}
