1
resposta

Type 'Promise<void | Negociacao[]>' is not assignable to type 'Promise<Negociacao[]>' - Não entendi a solução

Vi que a solução é tratar o erro no catch lançando um novo erro:

.catch(err => {throw new Error(err)});

Mas não entendo por que isso resolveu o problema... Outra solução seria mudar o tipo de retorno do método obterNegociações(..) para Promise<void | Negociacao[]> Gostaria que explicassem o motivo de erro (que não ocorreu com o instrutor).

(Typescript 2 - Parte 4, aula 7)

export class NegociacaoService {

    obterNegociacoes(handler: Function): 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));

    }
}
1 resposta
O post foi fechado por inatividade. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!