Курсор гаснет в терминале, а веб-сайт не отвечает? Использование NodeJs с Mysql и Express - PullRequest
0 голосов
/ 25 марта 2020

Когда я запускаю код на терминале " приложение узла. js", терминал отвечает обратно " Сервер работает на 8080 " и курсор уходит пустым после этого. Затем я открываю " localhost: 8080 " из браузера, и это дает ", у нас 1500 пользователей в нашей базе данных", что и ожидается ".

Но проблема в том, что курсор на терминале гаснет после выдачи" Сервер работает на 8080 ". Как сделать так, чтобы курсор не go пусто, скорее он продолжает работать. Потому что когда я открываю новый терминал, код, который я запустил, не работает. Я попытался поместить " connection.end (); "в конце кода, но он все еще не работает.

Когда я запускаю код после открытия нового терминала, он выдает эту ошибку на терминале:

<<br> Ошибка: Невозможно поставить в очередь запрос после вызова quit. В Protocol._validateEnqueue (E: \ Folders \ Helloworld \ Node \ node_modules \ mysql \ lib \ protocol \ Protocol. js: 215: 16) в Protocol._enqueue (E: \ Folders \ Helloworld \ Node \ node_modules \ mysql \ lib \ protocol \ Protocol. js: 138: 13) в Connection.query (E: \ Folders \ Helloworld \ Node \ node_module s \ mysql \ lib \ Connection. js: 198: 25) в E: \ Folders \ Helloworld \ Node \ app. js: 15: 12 в Layer.handle [как handle_request] (E: \ Folders \ Helloworld \ Node \ node_modules \ express \ lib \ router \ layer. js: 95: 5) на следующем (E: \ Folders \ Helloworld \ Node \ node_modules \ express \ lib \ router \ route. js: 137: 13 )
в Route.dispatch (E: \ Folders \ Helloworld \ Node \ node_modules \ express \ lib \ router \ route. js: 112: 3) в Layer.handle [as handle_request] (E: \ Folders \ Helloworld \ Node \ node_modules \ express \ lib \ router \ layer. js: 95: 5) в E: \ Folders \ Helloworld \ Node \ node_modules \ express \ lib \ router \ index. js: 281: 22 в Function.process_params (E: \ Folders \ Helloworld \ Node \ node_modules \ express \ lib \ router \ index. js: 335: 12) {code: 'PROTOCOL_ENQUEUE_AFTER_QUIT', фатальный: false}

Цитата

Мой код:

var mysql = require('mysql');
var express = require('express');

var app = express();

var connection = mysql.createConnection({
    host     : 'localhost',
    user     : 'root',
    password : '********',
    database : '**********'
  });

app.get("/", function(req, res){
    var q = "SELECT COUNT(*) AS count FROM users";
connection.query(q, function(err, results){
          if(err) throw err;
          var count = results[0].count;
    res.send("we have " + count + "user in our db");
    }); 
});



app.listen(8080, function(){
    console.log("Server running on 8080!");
});

![enter image description here

Так что открытие нового терминала не будет работать вообще. Что вызывает остановку терминала и как заставить его работать.

...