我读了很多关于堆栈溢出和node-mysql原始文档的主题但是没有明确描述如何处理连接。
我在我的脚本的最开头用.createConnection(params)
创建连接一切正常我用db执行上一次操作并自然地通过.end()
方法关闭它,问题从这里开始
当另一个用户连接我的服务器而不是创建新的连接时 - 我在一开始写的,因为我告诉 - 给我一个错误Cannot enqueue Query after invoking quit
这里的重点我不明白是我在以前的用户部分结束连接结束新用户和脚本从头开始调用
为什么已经结束的连接无法重新连接这是一个错误或我做错了什么
答案 0 :(得分:0)
我发现相同的连接不能使用两次所以我只是在connection#end()
内添加了一个回调,如果没有错误我将我的连接变量设置为null
就像这样
var connection =connection?connection:mysql.createConnection(dbParams);
connection.connect(
function(err){
if(err)console.log("cannot connect due to",err);
else console.log("connected");
})
//something happens here with db
connection.end(
function(err){
if(!err)connection=null;
else console.log(err)
});
现在一切都很完美