node-mysql Wohin geht connection.end ()?

8

Ich bin wirklich verwirrt mit connection.end () in node-mysql.

Ich verstehe nicht ganz, wohin es geht, im Moment stelle ich es nach einer Abfrage, aber wenn ich eine neue Abfrage erstelle, erhalte ich einen Fehler Cannot enqueue Query after invoking quit.

Jetzt hat meine App eine Reihe von Überprüfungen, die hier gehen, ist einer von ihnen:

%Vor%

Nun, wenn ich eine andere Frage habe, bekomme ich den Fehler.

Ich habe in meinem jsFiddle eine fundiertere Erklärung gegeben: Ссылка um das Problem, das ich habe, besser zu erklären bekommen. Die Dokumentation für node-mysql erklärt nicht vollständig den richtigen Platz für connection.end()

Wo soll es gehen, um diesen Fehler zu vermeiden?

    
Sir 19.12.2013, 22:32
quelle

2 Antworten

7

Pro die Dokumentation :

  

Das Schließen der Verbindung erfolgt mit end (), wodurch sichergestellt wird, dass alle verbleibenden Abfragen ausgeführt werden, bevor ein Quit-Paket an den mysql-Server gesendet wird.

connection.end() sollte dann nur aufgerufen werden, wenn Sie keine Anfragen mehr an MySQL senden, d. h. wenn Ihre Anwendung beendet wird. Sie sollten nicht ständig Verbindungen erstellen / beenden: Verwenden Sie für alle Abfragen dieselbe Verbindung (oder verwenden Sie einen Verbindungspool, um effizienter zu sein).

    
Paul Mougel 19.12.2013, 22:41
quelle
0
%Vor%

Es gibt einen Fehler, weil Sie die Verbindung während der Warteschlange schließen

    
VIKAS KOHLI 23.06.2017 06:29
quelle

Tags und Links