node-mysql gdzie does connection.end () go

Naprawdę mylę się z używaniem connection.end () w node-mysql.

Nie do końca rozumiem, gdzie to jest, w tej chwili umieszczam je po zapytaniu, ale jeśli utworzę nowe zapytanie, otrzymuję błądCannot enqueue Query after invoking quit.

Teraz moja aplikacja ma kilka czeków, a jednym z nich jest:

   socket.on('connect', function(data,callBack){
       var session = sanitize(data['session']).escape();                    

       var query = connection.query('SELECT uid FROM sessions WHERE id = ?', [session],
           function(err,results){
           if(err){ 
                  console.log('Oh No! '+err);                   
              }else{
                  io.sockets.socket(socket.id).emit('connectConfirm',{data : true});
              }
              connection.end();
           });
   });

Teraz, jeśli mam jakieś inne zapytanie, pojawia się błąd.

Zrobiłem bardziej świadome wyjaśnienie w moim jsFiddle:http://jsfiddle.net/K2FBk/ aby lepiej wyjaśnić problem, który otrzymuję. Dokumentacja dla node-mysql nie wyjaśnia całkowicie właściwego miejsca do umieszczeniaconnection.end()

Gdzie należy pójść, aby uniknąć tego błędu?

questionAnswers(2)

yourAnswerToTheQuestion