Как преобразовать наблюдаемый результат в процесс трубопровода - PullRequest
0 голосов
/ 29 сентября 2018

, поскольку нет ответа API, соответствующего размеру требуемого интерфейса данных, нам нужно преобразовать HttpResponse, чтобы он соответствовал нашему методу, определенному типом

получил ошибку о том, что Result не существует для типа 'Tag [] '

 Interface Tag{
     title:string;
    }

searchTag(term:string):Observable<Tag[]>{
  const url = 'api/tags'    
  return this.http.get<Tag[]>(url).pipe(map(tags=>tags.Result)) <<-error here 
}

Отмечая, что я отображаю наблюдаемый ответ в объект Result, поскольку ответ GET' api / tags 'похож на приведенный ниже, поэтому я должен сопоставить теги выше в конвейере с Результат .

 {
    "Operation": "GET/allTags",
    "Count": 2,
    "Result": [{"title": "tsadg"}]
}

1 Ответ

0 голосов
/ 29 сентября 2018

Как советовал @jonrsharpe !, вы учили TS, что экземпляр http-клиента будет возвращать ответ в форме тега, где Result там не определен!хотя вы должны изменить свой тип подсказки http-ответа так, чтобы он был похож на

<{Result:Tag[]}>

, теперь TS не будет возражать против доступа к результату, поскольку он является частью его формы

...