Mesmo mudando para utilizar o TypeScript 2.3.2 do VSCode o erro persiste. E se eu tento "calar a boca" do compilador passando Promisse<void|Negociacao[]> dá erro de forEach no controller.
Poderiam me ajudar por gentileza? Grato desde já.
Mesmo mudando para utilizar o TypeScript 2.3.2 do VSCode o erro persiste. E se eu tento "calar a boca" do compilador passando Promisse<void|Negociacao[]> dá erro de forEach no controller.
Poderiam me ajudar por gentileza? Grato desde já.
Alison, Tudo bem?
poderia colocar uma parte do código do projeto?
import { Negociation, PartialNegociation } from '../models/index';
export class NegociationService {
getNegociations(handler: Function): Promise<Negociation[]> {
//Importando Dados da API externa
return fetch("http://localhost:8080/data")
.then(res => handler(res)) //Verifica se requisição está OK
.then(res => res.json()) //Efetuando requisição e convertendo em JSON
.then((data: PartialNegociation[]) => {
data
.map(d => new Negociation(new Date(), d.times, d.amount))
}
) //Tranformando num array de Negociações
.catch(err => console.log(err.message)) //Retornando erro de requisição
}
}
Boa Tarde, Thiago.
Com esse trecho ocorre o erro de type Promise is not assignable.
Mesmo usando TS 2.3.2 da workspace.
E como havia comentado anteriormente, caso eu use Promisse<void | Negociation[]> dá erro lá no controller no ForEach.
Grato desde já pela sua ajuda.
this._negociationService
.getNegociations(isOK)
.then(negociations => {
negociations.forEach(negociation =>
this._negociations.add(negociation));
this._negociationsView.update(this._negociations);
});
Após usar o Promise<void | Negociation[]> e usando o código acima no controller que ocorre dizendo que forEach does not exist on type void | Negociation[]
Já resolvi, revi o código usado no curso e vi que havia colocado um retorno inválido.
Obrigado.