节点/快速挂起的请求

Node/Express pending request

本文关键字:请求 挂起 节点      更新时间:2023-09-26

我在Node.js方面有点新,现在它很棒。在本地运行节点(/w express)时,我遇到了一个小问题 - 第 10 个请求之后的每个请求都会挂起,并在 Chrome 检查网络中标记为待处理。

至于模块,我使用

较少中间件,express,jade和MySQL,我只做一个SQL查询(使用mysql.createPool)。为什么此请求仍处于待处理状态,我该如何解决此问题?

由于我是 Node 的新手,我不确定我是否已经尝试了所有方法,因此任何帮助将不胜感激!

听起来您没有释放从池中获取的MySQL连接。如果不这样做,池将耗尽可用连接,并将开始等待任何连接可用(在此之前,请停止请求)。

因此,您的代码应如下所示:

var pool = mysql.createPool(...);
...
// in your request handler:
pool.getConnection(function(err, connection) {
  if (err) ...handle error...;
  connection.query(function(err, results) {
    // release connection
    connection.release();
    // handle results
    ...
    // send back a response
    res.send(...);
  });
});