Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Código Diferente

Estou acompanhando o curso aula por aula, fazendo todas as etapas desde o módulo 1, porém nesta aula o código apresentado no vídeo está diferente do que está nos meus arquivos:

importaNegociacoes() {
        let negociacoesService = new NegociacoesService();

        Promise.all([
            negociacoesService.Semana(),
            negociacoesService.SemanaAnterior(),
            negociacoesService.SemanaRetrasada()
        ]).then(negociacoes => {
            negociacoes
            .reduce((novoArray, array) => novoArray.concat(array), [])
            .forEach(negociacao => this._listaNegociacoes.adiciona(negociacao));
            this._mensagem.texto = "Negociações Importadas com Sucesso!";
        }).catch(erro =>
            this._mensagem.texto = erro);
    }

Eu tentei refazer com o código com o que foi apresentado na aula, mas não está funcionando do jeito que esse atualmente está. Será que eu deixei passar alguma coisa?

Também baixei o projeto no começo do módulo e está diferente do que eu vinha fazendo.

5 respostas

Edimiel, boa tarde!

Desculpa pela diferença, conforme os alunos vão avisando nós vamos corrigindo o projeto para manter ele sempre atualizado, para que eu possa ajudar de uma forma melhor poderia me dizer qual erro você está recebendo? E se possível, poderia compartilhar seu código conosco via github?

Aguardo sua resposta e bons estudos!

Está neste link: https://github.com/meninomiel/aluraframe

Edmiel, boa tarde!

O backend da aplicação, pede que seja feita uma requisição http, o que atualmente não está sendo feito pois nas funções

Semana(){
          return this.ObterNegociacoes('negociacoes/semana', this._período.semana);
    }

    SemanaAnterior(){
          return this.ObterNegociacoes('negociacoes/anterior', this._período.semanaAnterior);
    }

    SemanaRetrasada(){
        return this.ObterNegociacoes('negociacoes/retrasada', this._período.semanaRetrasada);

Perceba que em nenhum ponto é mostrado que a requisição é HTTP, para isso nós adicionamos a url inteira ficando assim

Semana(){
          return this.ObterNegociacoes('http://localhost:8080/negociacoes/semana', this._período.semana);
    }

    SemanaAnterior(){
          return this.ObterNegociacoes('http://localhost:8080/negociacoes/anterior', this._período.semanaAnterior);
    }

    SemanaRetrasada(){
        return this.ObterNegociacoes('http://localhost:8080/negociacoes/retrasada', this._período.semanaRetrasada);
    }

Espero ter ajudado e bons estudos!

Está sendo feita no método ObterNegociacoes:

ObterNegociacoes(url, descricao){

        return this._http.get(url).then(negociacoes => {
            return negociacoes.map(obj =>
                new Negociacao(
                    new Date(obj.data), 
                    obj.quantidade, 
                    obj.valor
                )
            );
        }).catch(erro => {
            console.log(erro);
            throw new Error(`Não foi possível adicionar as ${descricao}!`)
        });     
    }

Eu faço as requisições usando uma instância do HttpService ( _http ). Lá estão todas as requisições http. Não sei se deixei claro, mas o projeto do jeito que está agora está funcionando normalmente. O problema é que nesta aula em específico, o código do método que citei acima está bem diferente do que eu já tinha feito no módulo anterior.

Pois bem, eu tentei implementar as mudanças do projeto novo (deste modulo 3) e não deu muito certo. Minha dúvida é se eu deixei passar algo durante as aulas ou se o projeto foi modificado de um módulo para o outro.

solução!

Edmiel, boa tarde!

Como eu tinha dito anteriormente, alguns alunos apontam sugestões no projeto para mantê-lo atualizado, você fez tudo correto, mas conforme vamos atualizando o projeto, pode ser que algumas coisas diferem. Se encontrar alguma dificuldade manda pra gente no fórum e estamos a disposição para ajudar!

Espero ter ajudado e bons estudos!