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

Função

Srs, bom dia.

Estou confuso no conceito de função. Vou tomar como exemplo um código da aula 2.

meu arquivo de conexão está isolado. Eu faço uma chamada via require:

Minha duvida está aqui. Qual a diferença entre a chamada 1 e 2 e como isso pode refletir no meu código.

Chamada 1

var dbConnection = require('../infra/connectionFactory');

Chamada 2

var dbConnection = require('../infra/connectionFactory')();

Obrigado.

2 respostas
solução!

Olá Leandro,

Se você olhar o arquivo connectionFactory.js, ele tem um método que exporta a função para ser usada no require:

module.exports = function() {
    return createDbConnection;
};

Repare que ele só retorna uma variável, que faz referência à função, ou seja, quando você faz a primeira chamada sem os parênteses no final ele só cria uma referência ele não executa o código, a partir do momento que você coloca os parênteses no final, o código dela é executada, podendo ser retornado algo para você ou não na execução desta função.

Oi Danilo,

Agora ficou claro. Obrigado.