1
resposta

Não consigo importar as negociaçõesna view

Não estou conseguindo importar as negociações na view

class NegociacaoService {
  obterNegociacoesDaSemana(cb) {
    let xhr = new XMLHttpRequest();

    xhr.open('GET', 'negociacoes/semana');

    xhr.onreadystatechange = () => {

      if(xhr.readyState == 4) {

        if(xhr.status == 200) {
          console.log('Entrei');
          cb(null, JSON.parse(xhr.responseText)
            .map((objeto) => new Negociacao(new Date(objeto.data), objeto.quantidade, objeto.valor))
          );
        } else {
          console.log(xhr.responseText);
          cb('Não foi possível obter as negociações', null);
        }
      }
    }
    xhr.send();
  }
}
importaNegociacoes() {
    let service = new NegociacaoService();
    service.obterNegociacoesDaSemana((erro, negociacoes) => {

      if(erro) {
        this._mensagem.texto = erro;
        return;
      }

      negociacoes.forEach((negociacao) => {
        this._listaNegociacoes.adiciona(negociacao);
      });

      this._mensagem.texto = 'Negociações importadas com sucesso.';
    });
  }
<button onclick="negociacaoController.importaNegociacoes()" class="btn btn-primary text-center" type="button">
            Importar Negociações
        </button>
        <script src="./js/app/views/View.js"></script>
    <script src="./js/app/views/NegociacoesView.js"></script>
    <script src="./js/app/views/MensagemView.js"></script>
    <script src="./js/app/models/Negociacao.js"></script>
    <script src="./js/app/models/ListaNegociacoes.js"></script>
    <script src="./js/app/models/Mensagem.js"></script>
    <script src="./js/app/controllers/NegociacaoController.js"></script>
    <script src="./js/app/helpers/DateHelper.js"></script>
    <script src="./js/app/helpers/Bind.js"></script>
    <script src="./js/app/services/ProxyFactory.js"></script>
    <script src="./js/app/services/NegociacaoService.js"></script>
    <script>
        let negociacaoController = new NegociacaoController();
    </script>
1 resposta

Olá Rayanne, tudo bem com você?

Peço desculpas pela demora no retorno.

Realizei testes e simulações com o código enviado em conjunto com o código da aula e o mesmo está executando conforme o esperado, realizando a coleta das negociações do servidor.

Peço que verifique se o servidor que contêm a API foi iniciado antes de realizar a coleta das negociações. Para isso basta seguir os passos apresentados abaixo.

  • Abra o terminal na pasta aluraframe/server, baixada na aula você fez PARTE 1 antes?
  • Com o terminal aberto na pasta server, execute o comando abaixo para iniciar a API
      npm start
  • Agora, acesse a seguinte rota no navegador
      http://localhost:3000/
  • Será aberto a página da aplicação, clique no botão Importar negociações e verifique o resultado apresentado

Caso as negociações continue não sendo carregadas, peço que compartilhe o seu projeto completo, para que eu possa realizar testes e simulações. Para isso, basta enviar a pasta compactada do projeto para um site de compartilhamento (exemplo Google Drive) e enviar na resposta desta postagem o link de compartilhamento.

Espero ter lhe ajudado. Em caso de dúvidas estou à disposição.

Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. 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