使用Angular从数据库获取对象
我用symfony创建了我的backlog,一切都很好,但是现在,我尝试从数据库中获取我的信息 我的产品将属于一个类别(这是一个对象),我试图显示我的所有类别,但我的TS请求似乎…不好 这是我的密码:使用Angular从数据库获取对象,angular,Angular,我用symfony创建了我的backlog,一切都很好,但是现在,我尝试从数据库中获取我的信息 我的产品将属于一个类别(这是一个对象),我试图显示我的所有类别,但我的TS请求似乎…不好 这是我的密码: <ul> <li *ngFor="let categorie of getAll()">{{ categorie }}</li> </ul> 服务 getAllCategorie(): Promise<any&
<ul>
<li *ngFor="let categorie of getAll()">{{ categorie }}</li>
</ul>
服务
getAllCategorie(): Promise<any> {
const UserToken = this.localStorage.get('userToken');
const jsonToken = JSON.parse(UserToken);
const httpOptions = {
headers: new HttpHeaders({
Authorization: jsonToken["token"]
})
};
return this.http.get(this.HTTP_URL + this.GET_CATEGORIES_URL, httpOptions).toPromise()
.then((response: Array<any>) => { return response.map(el => Categorie) });
}
getAllCategorie():承诺{
const UserToken=this.localStorage.get('UserToken');
const jsonToken=JSON.parse(UserToken);
常量httpOptions={
标题:新的HttpHeaders({
授权:jsonToken[“令牌”]
})
};
返回this.http.get(this.http\u URL+this.get\u CATEGORIES\u URL,httpOptions).toPromise()
.then((response:Array)=>{return response.map(el=>Categorie)});
}
最后一个请求似乎是问题所在,下面是日志:
错误:找不到不同的支持对象“[object Promise]”
类型为“对象”。NgFor仅支持绑定到Iterables,例如
数组
问题是,
service.getAllCategorie()
返回一个Promise
,但是ngFor
只允许在数组之类的可重用项上循环(如错误所述)。解决此问题的最简单方法是(正确识别用户“随机”)使用async
管道。只需将ngFor
更改为let categorie of(getAll()| async)
。这样的话,这个承诺将首先解决,然后循环到结果。查看管道异步(<代码>异步代码>代码>)我应该在哪里考虑?我们有很多方法来学习它是如何工作的。如果你有一个异步调用,你必须处理它。
getAllCategorie(): Promise<any> {
const UserToken = this.localStorage.get('userToken');
const jsonToken = JSON.parse(UserToken);
const httpOptions = {
headers: new HttpHeaders({
Authorization: jsonToken["token"]
})
};
return this.http.get(this.HTTP_URL + this.GET_CATEGORIES_URL, httpOptions).toPromise()
.then((response: Array<any>) => { return response.map(el => Categorie) });
}