错误处理Node.js/Mariadb/Express出现问题

错误处理Node.js/Mariadb/Express出现问题,node.js,express,mariadb,Node.js,Express,Mariadb,我有一个使用Node.js的测试程序,带有Express和Mariadb数据库。它连接到数据库,侦听并在接收到某个内容时执行简单的SQL查询选择1。在我测试错误处理之前,它工作正常。我加载程序并让它运行。那就停下来。我立刻在启动事件时遇到了一系列错误。js:292 投掷者;//未处理的“错误”事件。 SqlError:conn=36,编号:1927,SQLState:70100连接已终止 在Object.module.exports.createError/home/bob742/node 当我

我有一个使用Node.js的测试程序,带有Express和Mariadb数据库。它连接到数据库,侦听并在接收到某个内容时执行简单的SQL查询选择1。在我测试错误处理之前,它工作正常。我加载程序并让它运行。那就停下来。我立刻在启动事件时遇到了一系列错误。js:292 投掷者;//未处理的“错误”事件。 SqlError:conn=36,编号:1927,SQLState:70100连接已终止 在Object.module.exports.createError/home/bob742/node

当我删除express代码并用使用常规Node.js函数的版本替换它时,程序会一直放在那里,直到我加载页面,然后它会毫无问题地运行我的错误代码。因此,Express存在一个问题。还是我错过了什么

    const dotenv = require('dotenv');
result = dotenv.config({});
if (result.error) throw result.error;
// Initialise Maria DB 
const db =
{
    host: process.env.host,
    user: process.env.user,
    password: process.env.password,
    connectionLimit: parseInt(process.env.connectionLimit),
    database: process.env.database,
};
const mariadb = require('mariadb');

/*
// using express
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var logger = require('morgan');
var app = express();  
function doit(conn) {
    app.get('/', function (req, res) {
   //     res.send('running maria4 on port ' + process.env.portno);
   res.send('Testing with express');
   console.log("get recieved");
        conn => {
      //      conn.query("SELECT * FROM test where number = 1")
      conn.query("SELECT 1")
      .then(rows => {
                    console.log(rows); // [{ "1": 1 }]
                    conn.end();
                })
                .catch(err => {
                    console.error("query error")
                });
        }
    }    )
    //   ********** Now listen ****************
    app.listen(process.env.portno, () => {
        console.log(`Example app listening at http://localhost:${process.env.portno}`)
    })
}
*/

// using raw node
const http = require('http');
function doit(conn) {
    http.createServer((request, response) => {
        const { headers, method, url } = request;
        let body = [];
        request.on('error', (err) => {
            console.error(err);
        }).on('data', (chunk) => {
            body.push(chunk);
        }).on('end', () => {
            body = Buffer.concat(body).toString();
            console.log("get received");
            conn.query("SELECT 1")
                .then(rows => {
                    console.log(rows); // [{ "1": 1 }]
                    conn.end();
                })
                .catch(err => {
                    console.error("query error")
                });
            response.write('<html><body><p>Testing with raw node/p></body></html>');
            response.end();
        });
    }).listen(process.env.portno);
}



console.log("creating connection")
mariadb.createConnection(db)
    .then(doit)
    .catch(err => {
        console.error("connection error")
    });