Javascript MySQL错误/异常导致节点js服务器崩溃
当MySQL返回错误/异常时,我的nodejs服务器崩溃 这是我后端的代码。我在查询函数中使用了if-else,然后得到了响应,但我的服务器崩溃了。用try-and-catch,它仍然崩溃,我没有得到任何回复Javascript MySQL错误/异常导致节点js服务器崩溃,javascript,mysql,node.js,Javascript,Mysql,Node.js,当MySQL返回错误/异常时,我的nodejs服务器崩溃 这是我后端的代码。我在查询函数中使用了if-else,然后得到了响应,但我的服务器崩溃了。用try-and-catch,它仍然崩溃,我没有得到任何回复 Rezervacija.create = function (newEmp, result) { try{ konekcija.query("INSERT INTO rezervacija set ?", newEmp, function (err, res) {
Rezervacija.create = function (newEmp, result) {
try{
konekcija.query("INSERT INTO rezervacija set ?", newEmp, function (err, res) {
console.log(res.insertId);
result(null, res.insertId);
});
}
catch(err){
result(err, null);
console.log("Error",err);
}
};
我试了,试了,接了,但似乎不起作用,也许我用错了?我对JS真的很陌生,还在学习
我看到的唯一解决方案是捕获错误,这样就不会使服务器崩溃
提前感谢。我从未在node上使用过mysql,但官方示例和您的示例之间存在差异
connection.query('INSERT INTO posts SET ?', {title: 'test'}, function (error, results, fields) {
if (error) {
throw error;
}
console.log(results.insertId);
});
对我来说,每次当你使用回调函数时,你必须首先处理其中的错误,然后当你调用你的函数时,你也必须处理错误
作为示例,您可以尝试以下方法:
Rezervacija.create = function (newEmp, result) {
konekcija.query("INSERT INTO rezervacija set ?", newEmp, function (err, res) {
if (err) {
throw err;
}
console.log(res.insertId);
result(null, res.insertId);
});
};
由于我是斯拉夫人,我理解你的变量,但如果你在代码中使用英语作为变量、函数等的名称会更好。我用人的方式解决了这个问题 我所做的是在mysql parser.js中注释了这一行,它在第437行抛出了一个错误。在您的响应中,您仍然会收到来自MySQL数据库的错误消息,但它不再使服务器崩溃 如果我能得到一个更好的答案,我一定会用它
但是,由于这是一个大学项目,这将很好:)谢谢您的时间。我会用英语保留变量,只是觉得这几个词无关紧要。这对我的情况仍然没有帮助,因为我想绕过这个错误。抛出错误会导致无法获得响应,并且仍然会导致服务器崩溃。但是谢谢你的时间:)@DominikKukovec有没有导致崩溃的错误?我收到了由MySQL和ERR_HTTP_HEADERS_发送的异常引起的ER_SIGNAL_EXCEPTION。@DominikKukovec你有没有检查过我是否通过了这个问题,在那个线程中我应该使用async wait来解决这个问题?