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

Objeto

Srs, boa noite.

Eu tenho uma classe que possui um método createRows. Eu faço a chamada desse método dentro de um bloco request de uma chamada Ajax.

Nessa linha de código tbody.append(resp.createRows(dados)); eu tentei chamador o método através do this, mas um erro foi apresentado. Aparentemente dentro do bloco ele não "encontra os métodos".

Então eu criei uma instancia do objeto e deu certo. Mas penso que esse não é o melhor caminho. Alguém conhece outra alternativa? Obrigado.

  findAll(){
    let resp = new Responsaveis();
    let tbody = $('#table').find('tbody');

    var request = $.ajax({
      type: 'GET',
      url: `${$config.apiURL}/responsaveis`,
      dataType: 'json',
      headers: {"authorization":sessionStorage.getItem('tokenSession')}
    });

    request.done(function(data) {

      $.each(data['dados'], (index, dados) => { 
        tbody.append(resp.createRows(dados));
      }); 

      request.fail(function(data) {
        window.location.href = `${$config.urlVetor}`;
      });
    });
  }
3 respostas
solução!

Fala ai Leandro, tudo bem? Sinceramente eu não vejo problemas na sua solução, para mim é muito boa e válida.

Uma outra abordagem seria você utilizar arrow function no lugar da função anônima passada para o request.done.

Espero ter ajudado.

Matheus obrigado. Pode deixar vou adotar as arrows

Magina Leandro, sempre que precisar não deixe de criar suas dúvidas.

Abraços e 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