Eu tenho na minha pagina um ngFor que recebe uma lista de objetos. Porem, o meu serviço esta retornando um json com esses objetos, portanto eu recebo o seguinte erro:
ERROR Error: Cannot find a differ supporting object '[object Promise]' of type 'object'. NgFor only supports binding to Iterables such as Arrays.
O que eu poderia fazer?
Meu código esta assim:
Componente:
<ul class="my-list" >
<li class="my-list-item" *ngFor="let time of times" >
<button class="remove-button" (click)="removeItem(item)" >X</button>
<h1>
<a routerLink="/time/{{time._id}}" >
{{time.nome}}
</a>
</h1>
<h2>{{time.descricao}}</h2>
</li>
</ul>
import { Component, OnInit } from '@angular/core';
import { TimeService } from '../time/time.service.component';
@Component({
selector: 'app-painel-times',
templateUrl: './painel-times.component.html',
styleUrls: ['./painel-times.component.css']
})
export class PainelTimesComponent implements OnInit {
constructor(private TimeService: TimeService) { }
ngOnInit() {
}
times = this.TimeService.lista();
}
Serviço:
lista(): Promise<TimeComponent[]>{
return this.http.get(this.url)
.toPromise()
.then(res => res.json())
.catch();
}