1
resposta

Refresh

Olá, Eu implementei o codio e eu consigo ver no console que a cada 3 segundos esta sendo adicionado e que minha lista está atualizada no entanto quando eu adiciono no post ele so aparece na minha lista depois que eu der refresh na pagina.

Parece que tudo esta certo mas nao entendo como que a pagina teoricamente está dando refresh pois ela intercepta a cada 3 segundos a suposta adiçao de novas importações e que o banco recebe aquilo que enviei pelo post , mas isso que está no post so aparece na lista se eu dar refresh na pagina ...

Obrigado pela atenção, segue meu codigo :

class NegociacaoController {

    constructor() {

        let $ = document.querySelector.bind(document);

        this._inputData = $('#data');
        this._inputQuantidade = $('#quantidade');
        this._inputValor = $('#valor');

        this._listaNegociacoes = new Bind(
            new ListaNegociacoes(), 
            new NegociacoesView($('#negociacoesView')), 
            'adiciona', 'esvazia' , 'ordena', 'inverteOrdem');

        this._mensagem = new Bind(
            new Mensagem(), new MensagemView($('#mensagemView')),
            'texto');    

        this._ordemAtual = ''

        ConnectionFactory
            .getConnection()
            .then(connection => new NegociacaoDao(connection))
            .then(dao => dao.listaTodos())
            .then(negociacoes => 
                negociacoes.forEach(negociacao => 
                    this._listaNegociacoes.adiciona(negociacao)))
            .catch(erro =>{
                console.log(erro);
                this._mensagem.texto = erro; 
            });
        setInterval(() =>{ 
            this.importaNegociacoes()}
        ,3000);    
    }

    adiciona(event) {

        event.preventDefault();
        ConnectionFactory
        .getConnection()
        .then(conexao => {
            let negociacao = this._criaNegociacao();
            new NegociacaoDao(conexao)
            .adiciona(negociacao)
            .then(()=>{
                this._listaNegociacoes.adiciona(negociacao);
                this._mensagem.texto = 'Negociação adicionada com sucesso'; 
                this._limpaFormulario(); 
            });
        })
        .catch(erro => this._mensagem.texto = erro );

    }

    importaNegociacoes() {


        let service = new NegociacaoService();
        service
            .obterNegociacoes()
            .then(negociacoes =>
                negociacoes.filter(negociacao => 
                    !this._listaNegociacoes.negociacoes.some(negocicaoExistente =>
                        JSON.stringify(negociacao)))
            )
            .then(negociacoes => negociacoes.forEach(negociacao => {
                this._listaNegociacoes.adiciona(negociacao);
                this._mensagem.texto = 'Negociações do período importadas'   
            }))
            .catch(erro => this._mensagem.texto = erro)                            
    }
1 resposta

Não entendi com clareza o problema. Pode tentar explicar novamente, de outra maneira?