Node.js API NodeJS循环或错误处理问题:池连接未关闭(MYSQL)?

Node.js API NodeJS循环或错误处理问题:池连接未关闭(MYSQL)?,node.js,express,database-connection,Node.js,Express,Database Connection,仍然在玩我的第一个API NodeJS应用程序 我当前的MYSQL配置是: const mysql = require('mysql'); var pool = mysql.createPool({ host:'localhost', user: 'abc', password: 'abc', database : 'abc', multipleStatements: true, connectionLimit: 10 });

仍然在玩我的第一个API NodeJS应用程序

我当前的MYSQL配置是:

const mysql = require('mysql');

  var pool = mysql.createPool({    
    host:'localhost',
    user: 'abc',
    password: 'abc',
    database : 'abc',
    multipleStatements: true,
    connectionLimit: 10
});
  
  


module.exports ={
     connection : pool 
} 
我的“订单列表”部分是获取未完成订单列表的一种方法。 这个页面工作正常,但是在点击几个按钮后,程序会挂起,直到我重新启动API

代码:

直到我开始使用这个池连接加上错误处理,这个问题才发生

现在我对NodeJS(以及一般的编码)非常陌生,但是如果我在终端上运行这个:

lsof-i tcp:3000

然后我可以看到该端口上运行的所有内容。 当我使用ot做这个(预连接池)时,我只会得到我的侦听的node:PID

现在,在运行任何API端点后的大约10秒钟内,我得到以下结果:

COMMAND   PID   USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
node    18993 myserver 18u  IPv6 198273222      0t0  TCP *:hbci (LISTEN)
node    18993 myserver 19u  IPv6 198273223      0t0  TCP vps.myserver.com.au:hbci->myIPAddress:59264 (ESTABLISHED)
现在我想这是仍然存在的联系。。。所以连接没有被关闭? 这可能是问题所在吗? 我只是不明白我的错误处理出了什么问题,我得到的是挂起,而不是崩溃或其他什么

我不得不改变到池连接,因为它在这里和那里失去了连接,在阅读了关于它的文章后,显然池是最好的方式,但我一定错过了什么?
是否需要释放连接?

您正在使用
.getConnection
方法从连接池中获取连接实例。完成连接实例后,需要使用
connection.release()关闭连接

如果不这样做,那么这个连接就不会被释放,基本上,新请求将没有任何连接可供使用

或者,您可以使用
pool.query
方法在使用后自动关闭连接


您可以查看此答案以了解更多详细信息

太好了,谢谢!几天来,我一直在努力寻找这些代码,以将其放入db配置部分,我只是不知道如何实现它!!现在全部工作:)
COMMAND   PID   USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
node    18993 myserver 18u  IPv6 198273222      0t0  TCP *:hbci (LISTEN)
node    18993 myserver 19u  IPv6 198273223      0t0  TCP vps.myserver.com.au:hbci->myIPAddress:59264 (ESTABLISHED)