Olá, Após tentar reproduzir o código dessa parte e ver algumas soluções nesse fórum, o código compila, porém não funciona ao clicar no botão Importar Dados, exibindo o Erro "TypeError: Cannot read property 'forEach' of undefined" no console.
Os meus códigos:
export class NegociacaoService {
obterNegociacoes(handler: Function): Promise<void | Negociacao[]> {
return fetch('http://localhost:8080/dados')
.then(resp => handler(resp))
.then(resp => resp.json())
.then((dados: NegociacaoParcial[]) => {
dados
.map(dado => new Negociacao(new Date(), dado.vezes, dado.montante))
})
.catch(err => console.log(err));
}
}
No NegociacaoController:
@throttle()
importaDados(){
function isOk(resp: Response){
if(resp.ok){
return resp;
} else {
throw new Error(resp.statusText);
}
}
this._service
.obterNegociacoes(isOk)
.then((negociacoes: Negociacao[]) => {
negociacoes.forEach(negociacao =>
this._negociacoes.adiciona(negociacao));
this._negociacoesView.update(this._negociacoes);
});
}
E e o erro no console:
NegociacaoController.js:62 Uncaught (in promise) TypeError: Cannot read property 'forEach' of undefined
at eval (NegociacaoController.js:62)