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

Chamada do método dentro da classe que o define

Para o redirecionamento dentro da classe LivroControlador, poderia utilizar apenas rotas().lista ao invés de LivroControlador.rotas().lista, uma vez que o método estático que encapsula as URLs das rotas está definido dentro da própria classe LivroControlador ?

class LivroControlador {

    static rotas() {
        return {
            lista: '/livros',
            cadastro: '/livros/form',
            edicao: '/livros/form/:id',
            delecao: '/livros/:id'
        };
    }

    // código omitido.

    cadastra() {
        return function(req, resp) {
            //código omitido
            livroDao.adiciona(req.body)

                    // agora o redirecionamento é feito utilizando o método
                    // estático que encapsula as URLs das rotas.
                    .then(resp.redirect(LivroControlador.rotas().lista))
                    .catch(erro => console.log(erro));
        };
    }

    // restante do código omitido.

}
5 respostas
solução!

Fala aí Joaquim, tudo bem? Dessa maneira iria dar problema, quanto estamos tentando chamar valores estático dentro de valores normais, precisamos declarar o nome da classe para que o acesso seja feito de forma estática.

Daria para acessar sem informar a classe, mas, a segunda função também precisaria ser estática, mas, mesmo assim é uma boa prática chamar através do nome da classe.

Espero ter ajudado.

Oi, Matheus! Entendi a sua resposta, mas o que seria um "acesso feito de forma estática"?

Acesso de forma estática é quando você acessa uma determinada informação através da classe e não de uma instância, exemplo:

AlgumaClasse.algumaFuncao()
AlgumaClasse.algumaVariavel

Estamos acessando através da classe e não de uma instância:

const algumaInstancia = new AlgumaClasse()
algumaInstancia.algumaFuncao()
algumaInstancia.algumaVariavel

Ou seja, informações estáticas pertencem à classe.

Espero ter ajudado.

Valeu pela explicação!

Magina, sempre que precisar não deixe de criar suas duvidas.

Abraços e bons estudos.