Я работаю над проектом в Angular6, где мне нужно сделать HTTP-вызов для получения данных JSON. Вызов правильный (я проверил вывод в консоли). Проблема в том, что моя функция в Service возвращает «неопределенное» до завершения HTTP-вызова. Но возвращается undefined, и все остальные мои функции в компоненте выдают мне ошибку.
menuService.ts
getCall(url, options) {
this.http.get(url, options).subscribe(
(data:any) => {
if(data){
console.log(data);
return data;
},
error => {
return [];
}
);
}
menu.ts
getCall(url, options) {
let result: any;
result = this.menuSvc.getCall(url, options);
let l:number = result.length; //error is thrown here, "no length property for 'undefined'
return result;
}
Я искал в Интернете и нашел решения, такие как Promise (); но я не совсем понял, как его применять. Было бы здорово, если бы кто-то мог помочь. Спасибо!