Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Retorno nulo de método da Service

Na classe "NegociacaoService" quando indico que o retorno do método é "Promise" de um vetor de "Negociacao", obtenho um erro de compilação e aparentemente é porque esse método pode retornar nulo. Então, permiti que o método também retorne nulo. Isso acarretou em um erro na Controller, na hora de realizar o forEach das negociações. Para corrigir isso coloquei um "if" que verifica se "negociacoes" é nulo.

No vídeo esse erro não acontece, então não sei se deixei passar alguma coisa. Porém se for isso mesmo, gostaria de saber se existe alguma outra maneira, ou se essa é uma boa maneira para tratar esse erro.

obterNegociacoes(handler: Function): Promise<Negociacao[] | void> {

        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.message));

    }
 this._service
            .obterNegociacoes(isOk)
            .then(negociacoes => {
                if(negociacoes != null)
                negociacoes.forEach(negociacao => 
                                this._negociacoes.adiciona(negociacao))

                this._negociacoesView.update(this._negociacoes);

            }););

            });
1 resposta
solução!

Estou com o mesmo problema. Aparentemente ele foi resolvido aqui.

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