Tentei implementar o DAO com classe do ES6. Meu código ficou assim:
class ProdutosDAO {
constructor(connection) {
this._connection = connection;
}
lista(callback) {
this._connection.query('select * from produtos', callback);
}
}
/*function ProdutosDAO(connection) {
this._connection = connection;
}
ProdutosDAO.prototype.lista = function (callback) {
this._connection.query('select * from produtos', callback);
}*/
module.exports = function () {
return ProdutosDAO;
}
Já o meu produto.js está assim:
module.exports = app => {
// especifica a view a ser renderizada em /produtos
// e passa o resultado de uma busca ao db
app.get("/produtos", (req, res) => {
let connection = app.infra.connectionFactory();
let produtosBanco = new app.infra.ProdutosDAO(connection);
produtosBanco.lista(function(err,res) {
res.render('produtos/lista', {lista: res});
});
connection.end();
//res.render('produtos/lista');
});
}
Os arquivos são compilados normalmente, porém quando acesso o localhost recebe esse erro de res.render() is not a function. Alguém sabe o que pode estar causando isso?