Я новичок в программировании.Итак, у меня есть служба API, в которой есть метод get, отправляющий данные в формате JSON, например:
{ "records" : [
{
"id" : "1",
"name" : "aa"
},
{
"id" : "2",
"name" : "bb"
},
...
]
}
Я пытаюсь получить данные для своего проекта с помощью углового интерфейса командной строки.Вот внутри каждого файла
//name.ts
export interface Name {
id: number;
name: string;
}
//name.service.ts
...
constructor(private _http: Http) { }
getName(): Observable<Name[]> {
return this._http.get(this._url).pipe(map((res: Response) => res.json()));
}
...
//app.component.ts
...
names: Name[];
constructor(private _nameService: nameService) { }
ngOnInit() {
this._nameService.getName().subscribe(data => this.names = data['records']);
}
Это работает нормально.Но, если я использую модуль HttpClient, и изменим функцию getName()
внутри name.service.ts
на это:
//name.service.ts after getName() change
...
constructor(private _http: HttpClient) { }
getName(): Observable<Name[]> {
return this._http.get<Name[]>(this._url);
}
...
Внезапно я получил пустой список.Что я сделал не так?Должен ли я избавиться от <Name[]>
, чтобы он стал return this._http.get(this._url);
?Но это вызовет ошибку и не может быть скомпилировано.