Javascript NodeJs程序完成后未退出
很抱歉这个问题,我是Javascript的初学者。我正在使用nodejsmysql包将我的节点应用程序连接到数据库。但在成功运行查询后,程序不会退出,它将永远停留在那里,直到我手动终止它。我希望程序运行查询并退出程序Javascript NodeJs程序完成后未退出,javascript,mysql,node.js,Javascript,Mysql,Node.js,很抱歉这个问题,我是Javascript的初学者。我正在使用nodejsmysql包将我的节点应用程序连接到数据库。但在成功运行查询后,程序不会退出,它将永远停留在那里,直到我手动终止它。我希望程序运行查询并退出程序 pool.end(function(err) { if (err) { return console.log('error:' + err.message); } console.log('Close the database connection.'); })
pool.end(function(err) {
if (err) {
return console.log('error:' + err.message);
}
console.log('Close the database connection.');
});
我正在使用的代码:
var mysql = require("mysql");
var pool = mysql.createPool({
connectionLimit: 100,
host: "Hostname",
user: "User",
password: "Password",
database: "DB_name",
debug: false,
});
function sql_query() {
pool.getConnection(function (err, connection) {
if (err) {
console.log(err.code + ' : '+ err.sqlMessage);
return;
}
var query = "MY-QUERY_STRING";
connection.query(query, (error, results, fields) => {
connection.release();
if (error) {
console.log(error);
return;
}
console.log("Done");
return results;
});
});
}
var result = sql_query();
console.log(result);
您必须关闭MySQL连接才能退出程序。通过在成功块中使用以下代码,您将退出程序
pool.end(function(err) {
if (err) {
return console.log('error:' + err.message);
}
console.log('Close the database connection.');
});
您必须关闭MySQL连接才能退出程序。通过在成功块中使用以下代码,您将退出程序
pool.end(function(err) {
if (err) {
return console.log('error:' + err.message);
}
console.log('Close the database connection.');
});
只要池处于打开状态,节点进程就不会退出。查看更多详细信息。 如果要在执行一个查询后关闭池,可以执行以下操作:
...
connection.query(query, (error, results, fields) => {
pool.end(); // you can pass a callback here as well to handle errors
...
});
...
还要注意,您正试图将
sql\u查询的结果分配给result
。这将不起作用,因为您无法通过这种方式从回调返回值。查看更多详细信息。只要池处于打开状态,节点进程将不会退出。查看更多详细信息。
如果要在执行一个查询后关闭池,可以执行以下操作:
...
connection.query(query, (error, results, fields) => {
pool.end(); // you can pass a callback here as well to handle errors
...
});
...
还要注意,您正试图将sql\u查询的结果分配给result
。这将不起作用,因为您无法通过这种方式从回调返回值。查看更多详细信息。您必须关闭与pool.end()的连接,如果您希望在返回结果之前关闭连接
connection.query(query, (error, results, fields) => {
connection.release();
if (error) {
console.log(error);
return;
}
console.log("Done");
pool.end()
return results;
});
在返回结果之前,必须关闭与pool.end()的连接
connection.query(query, (error, results, fields) => {
connection.release();
if (error) {
console.log(error);
return;
}
console.log("Done");
pool.end()
return results;
});