nodejs mariadb连接没有断开

nodejs mariadb connection not disconnecting

你好,我正在使用 nodejs 创建休息 API

但我遇到了问题

先看代码

var http = require('http');
var url = require('url');
var mariadb = require('mariadb');

    http.createServer(function (req, res) {
        res.writeHead(200, {'Content-Type': 'text/html'});
        var db_conn  = mariadb.createPool({
            host:"localhost",
            user:"root",
            password:"",
            database:"database",
            connectionLimit:1
        });
        db_conn.getConnection().then(db=>{
            db.query("select * from array_languages").then(data => {
                db.end();
                res.write(JSON.stringify(data));
                res.end();
            });
        });
    }).listen(8080,"localhost");

这段代码完美地返回了数据。

但是每次我发出请求时,尽管请求已完成,连接仍然打开。

预期结果

通常情况下, 每当我执行脚本时,执行后 MySql 连接关闭

我试过关闭连接

通过使用 conn.end()
但连接仍然打开

我来自PHP背景

在PHP如果你请求一个页面,执行后所有的连接都会自动关闭。 但在这里我面临着一些新的东西。

如何在请求完成后关闭连接?

这个问题我忘记了。 但是我今天尝试解决了。

已解决

我试图关闭连接,但我应该关闭 连接池

完整代码

var http = require('http');
var url = require('url');
var mariadb = require('mariadb');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    var db_conn  = mariadb.createPool({
        host           : "localhost",
        user           : "root",
        password       : "",
        database       : "database",
        connectionLimit: 1
    });
    db_conn.getConnection().then(db=>{
        db.query("SELECT * FROM array_languages").then(data => {
            db_conn.end();
            db.end();
            res.write(JSON.stringify(data));
            res.end();
        });
    });
}).listen(8080,"localhost");