У меня есть служба, которая возвращает Observable, после получения ответа я сопоставляю ответ и присваиваю результат массиву.
this.dataService.fetchData().subscribe(response =>{
[...this.DataMappingField ]= response.map(({ ID: id, Name: name }) => ({ id, name }));
});
С операторами распространения внутри подписки я получаю ошибку ниже.
Ошибка: свойство 'map' не существует для типа 'Modelclass'.
Ответ от службы
[
{ID: 6197, Name: 'A', desc: null,catergory:'lap'},
{ID: 6198, Name: 'B', desc: null,catergory:'lap'}
]
В процессе эксплуатации fetchData
Метод:
fetchData(): Observable<Modelclass> {
return this.http
.get<Modelclass>(REQUEST_URL)
.pipe(
tap(response => response)
);
}
Класс модели:
export class Modelclass {
ID: any;
Name: string;
}
Но приведенный ниже код работает нормально при вызове метода:
this.dataService.fetchData().subscribe(this.fetchResponse);
private fetchResponse(response): void => {
[...this.DataMappingField ]= response.map(({ ID: id, Name: name }) => ({ id, name }));
}