Queria entender melhor como funciona o wrapper (como no caso do createDBConnection). Quando uma função X chama a função Y, a Y não seria executada igual a como se fosse chamada diretamente? O que muda?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Queria entender melhor como funciona o wrapper (como no caso do createDBConnection). Quando uma função X chama a função Y, a Y não seria executada igual a como se fosse chamada diretamente? O que muda?
Oi Mark, tudo bom?
Sim, é executado normalmente. A diferença é que agora isolamos esse código:
function createDBConnection(){
return mysql.createConnection({
host:'localhost',
user:'root',
password:'',
database:'casadocodigo_nodejs'
});
}
Agora quando quisermos uma conexão, basta usarmos:
createDBConnection()
Assim a gente evita muita repetição de código!
E mais, no dia que sua conexão mudar nós precisamos mexer apenas em um lugar =)
A funcionalidade é a mesma. Mas a forma com que é feito e a manutenção no futuro se tornou completamente diferente!
Espero ter ajudado, qualquer problema compartilha com a gente.
Abraço e bons estudos =)
Olá, Mark na verdade oque é passado agora é o endereço da função e a mesma não é executada, observe que no código do professor ele retorna createDBConnection e não createDBConnection(), um é a função o outro é a execução da mesma, ha diferenças, não sei se fui claro mas qualquer coisa posta ai que a gete tenta ajudar de outra forma.