1
resposta

Aula 04 - Seção 07 - NegociacaoService com erro.

É o mesmo erro relatado em pergunta/solução anterior:

O tipo 'Promise<void | Negociacao[]>' não pode ser atribuído ao tipo 'Promise<Negociacao[]>'.
  O tipo 'void | Negociacao[]' não pode ser atribuído ao tipo 'Negociacao[]'.
    O tipo 'void' não pode ser atribuído ao tipo 'Negociacao[]'.

Mas a linha do catch está diferente: catch(err => console.log(err));

Usei o código que está na próxima aula 05 (fiz download do código, copiei e colei o fonte NegociacaoService.ts no local correto na pasta).

Como resolver isso, por favor?

import { Negociacao, NegociacaoParcial } from '../models/index';

export class NegociacaoService {

    obterNegociacoes(handler: HandlerFunction): Promise<Negociacao[]> {

        return 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));
    }
}

export interface HandlerFunction {

    (res: Response): Response

}
1 resposta

Boa noite, Cassius! Como vai?

Dá uma olhada nesse tópico! É provável que ele te ajude!

Qualquer coisa, se o problema continuar, é só falar!

Grande abraço e bons estudos, meu aluno!