Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Type 'Promise<void | Negociacao[]>' is not assignable to type 'Promise<Negociacao[]>'

Também peguei esse alerta do vs code, resolvi dessa forma:

export class NegociacaoService {
  obterNegociacoes(handler: HandlerFunction): Promise<Negociacao[]> {
    return <Promise<Negociacao[]>> fetch("http://localhost:8080/dados")
      .then((res) => handler(res))
      .then((res) => res.json())
      .then((dados: NegociacaoParcial[]) => dados.map((dado) => new Negociacao(new Date(), dado.vezes, dado.montante)))
      .catch((err) => console.log(err.message));
  }
}

Simplesmente adicionei o cast "<Promise<Negociacao[]>>" antes de fazer o return. Que acham?

1 resposta

Fala ai Moisés, tudo bem? Muito bom, parabéns pela solução.

Como eu gosto de dizer: "Na maioria das vezes vai haver mais de uma solução para dado um problema".

Abraços e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software