【发布时间】:2021-07-02 07:17:09
【问题描述】:
当前使用:https://github.com/felixge/node-mysql
我有以下代码:
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
database : 'Database1'
});
app.put('/api/upload', function(req, res, next)
{
connection.connect();
doMultipleQueries(function(err)
{
connection.end();
});
};
put 请求工作正常,但第二次调用它,我得到以下错误
events.js:68
throw arguments[1]; // Unhandled 'error' event
^
Error: Cannot enqueue Handshake after invoking quit.
at Protocol._validateEnqueue (/Users/anon/Desktop/project Web/node_modules/mysql/lib/protocol/Protocol.js:110:16)
我应该让连接保持打开状态直到服务器停止运行吗?
更新:
当我将mysql.createConnection 移动到 put 请求函数中时,如下所示:
var connection = null;
app.put('/api/upload', function(req, res, next)
{
connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
database : 'Database1'
});
connection.connect();
doMultipleQueries(function(err)
{
connection.end();
});
};
它工作正常。这是否意味着connection.end() 关闭了mysql.createConnection 创建的内容并且无法重新连接?
【问题讨论】:
标签: javascript mysql node.js