我有此函数,该函数应返回文章数组,但是在获取数据后,它们将无法保存。这是我的控制台输出。
GetAll() {
//return this.http.get<Array<Article>>(this.cfg.SERVER);
this.http.get(this.cfg.SERVER)
.subscribe((data: Array<Article>) => {
this.articles = data;
console.log(1);
console.log(this.articles);
}
);
console.log(2);
console.log(this.articles);
return this.articles;
}
答案 0 :(得分:0)
您对注释的代码正确无误。返回http调用提供的Observable。按照编写的方式,GetAll()方法将始终返回null,因为您在订阅中的回调执行之前返回。
尝试一下:
GetAll(): Observable<Array<Article>> {
return this.http.get<Array<Article>>(this.cfg.SERVER);
}
如果接收此方法输出的变量具有声明的类型,则需要将其类型更改为Observable<Array<Article>>
。
答案 1 :(得分:-1)
您也可以按照以下方式尝试。
for(var i=0;i<this.articles.length;i++)
{
console.log("id:"+this.articles[i].id+"Title:"+this.articles[i].title");
}