admin管理员组文章数量:1333201
Sorry for this noob question, I'm beginner in Javascript. I am using the NodeJs MySQL package to connect my node application to my database. But after running the query successfully the program doesn't exit it stays there forever until I terminate it manually. I want the program to run the query and exit the program.
The code that I'm using:
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);
Sorry for this noob question, I'm beginner in Javascript. I am using the NodeJs MySQL package to connect my node application to my database. But after running the query successfully the program doesn't exit it stays there forever until I terminate it manually. I want the program to run the query and exit the program.
The code that I'm using:
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);
Share
Improve this question
asked May 23, 2020 at 18:29
darkpanda08darkpanda08
797 bronze badges
3 Answers
Reset to default 4You have to close the MySQL connection to exit the program. by using the following code in the success block you will exit the program.
pool.end(function(err) {
if (err) {
return console.log('error:' + err.message);
}
console.log('Close the database connection.');
});
As long as your pool is open, the node process will not exit. Check this for further details. If you want to close your pool after executing one query you can do the following:
...
connection.query(query, (error, results, fields) => {
pool.end(); // you can pass a callback here as well to handle errors
...
});
...
Also note that you're trying to assign the result of sql_query
to result
. This won't work as you can't return a value from a callback this way. Check this for further details.
You have to close the connection with pool.end(), in your case you want it to be before returning results
.
connection.query(query, (error, results, fields) => {
connection.release();
if (error) {
console.log(error);
return;
}
console.log("Done");
pool.end()
return results;
});
本文标签: javascriptNodeJs program not exiting after completionStack Overflow
版权声明:本文标题:javascript - NodeJs program not exiting after completion - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742347512a2457823.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论