Terminei a terceira aula do curso e minha aplicação já está listando, cadastrando e excluindo produtos. Porém, tenho problemas quando eu coloco o connection.end(); no final da função que controla a rota que lista os produtos (igual ao exemplo do professor).
Com esta parte do código está ativa, a lista de produtos só abre uma única vez, quando eu executo a ação de exclusão que redireciona para a lista de produtos, recebo o seguinte erro no console do node:
events.js:160
throw er; // Unhandled 'error' event
^
Error: Cannot enqueue Quit after invoking quit.
O mesmo problema ocorre quando eu recarrego a lista de produtos após ela carregar a primeira vez.
Meu código:
module.exports = function(app){
app.get("/produtos",function(request,response){
console.log("abrindo lista de produtos");
var connection = app.infra.connectionFactory; //o express-load disponibiliza o objeto desta forma apos carrega-lo
var produtosDAO = new app.infra.ProdutosDAO(connection);
produtosDAO.lista(function(err, results){
response.render('produtos/lista', {lista: results});
});
connection.end();
});
app.get("/produtos/form",function(request,response){
console.log('abrindo formulario de cadastro de produtos');
response.render('produtos/form');
});
/*
..
outras rotas
..
*/
}