Acho que encontrei um exemplo que ilustra a minha dúvida, os arquivos produtos.js e ProdutosDao estão ligados e tem funções de callback.
O que me confunde é qual função está chamando a outra, onde a função foi criada e onde o valor é passado, exemplo:
Essa função é que faz a conexão com o banco? O que é esse primeiro callback e o segundo?
ProdutosDAO.prototype.lista = function(callback){
this._connection.query('select * from livros', callback);
}
Essa é a função que recebe os dados do banco e coloca os dados na página?
produtosBanco.lista(function(erros, resultados){
res.format({
html: function(){
res.render("produtos/lista",{lista:resultados});
},
json: function(){
res.json(resultados);
}
});
});
connection.end();
};
app.get("/produtos", listaProdutos);
Parece um dúvida boba, mas depois que o código está pronto, eu esqueço quem depende de quem e isso me ajudaria a entender melhor como funcionam as funções.