错误处理Node.js/Mariadb/Express出现问题
我有一个使用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存在一个问题。还是我错过了什么错误处理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 当我
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")
});