nin*_*eer 28 javascript mysql node.js
目前使用: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();
});
};
Run Code Online (Sandbox Code Playgroud)
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)
Run Code Online (Sandbox Code Playgroud)
我应该打开连接,直到服务器死掉?
更新:当我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();
});
};
Run Code Online (Sandbox Code Playgroud)
它工作正常.这是否意味着connection.end()关闭mysql.createConnection创建和无法重新连接的内容?
met*_*766 26
connection.end()无论致命错误都能正常工作.如果COM_QUIT在发送数据包之前发生致命错误,则会err向回调提供参数,但无论如何都将终止连接.
还要检查destroy()方法.这将导致立即终止底层套接字.
您可以添加错误处理程序.
https://github.com/felixge/node-mysql/blob/master/Readme.md#error-handling
connection.on('error', function() {});
Run Code Online (Sandbox Code Playgroud)
终止后,无法通过设计重新连接现有连接对象.
点击这里 它显示断开后连接回来.
https://github.com/felixge/node-mysql/blob/master/Readme.md#server-disconnects
| 归档时间: |
|
| 查看次数: |
53816 次 |
| 最近记录: |