【发布时间】:2019-03-16 10:22:28
【问题描述】:
我正在尝试将我的 get 响应从 json 转换为 array:
export class PostsService {
apiRoot: string = "https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/?number=3";
results: PostsItem[];
loading: boolean;
constructor(private http: HttpClient) {
this.results = [];
this.loading = false;
}
getPosts(term: string): Observable<PostsItem[]> {
let apiURL = `${this.apiRoot}`;
return this.http.get(apiURL)
.map( res => {
let results = res.json().results.map( item => {
return new PostsItem(
item.ID,
item.post_thumbnail,
item.date,
item.title,
item.url,
item.author,
item.avatar
);
})
return results;
});
}
}
而且我知道当我使用 HttpClient 而不是 Http 时,没有必要使用 .json() 但我在语法上苦苦挣扎。
【问题讨论】:
-
PostsItem 模型中有什么?
-
导出类 PostsItem { 构造函数(公共 ID:数字,公共 post_thumbnail:字符串,公共日期:字符串,公共标题:字符串,公共 URL:字符串,公共作者:字符串,公共头像:字符串){ } }
标签: angular observable httpclient angular7