首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL错误/异常崩溃节点js服务器

问MySQL错误/异常崩溃节点js服务器
EN

Stack Overflow用户
提问于 2020-12-30 00:50:59
回答 2查看 106关注 0票数 0

当MySQL返回错误/异常时,我的nodejs服务器崩溃。

这是我后端的代码。我在查询函数中使用了if else,然后得到响应,但我的服务器崩溃了。使用try and catch,它仍然崩溃,并且我没有得到任何响应。

代码语言:javascript
复制
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的新手,还在学习。

我看到的唯一解决方案是捕获错误,这样它就不会使服务器崩溃。

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2020-12-30 01:01:35

我从来没有使用过带有节点的mysql,但是官方的例子和你的是有区别的。

代码语言:javascript
复制
connection.query('INSERT INTO posts SET ?', {title: 'test'}, function (error, results, fields) {
  if (error) {
    throw error;
  }
  console.log(results.insertId);
});

对我来说,每次使用回调函数时,你必须首先处理其中的错误,然后当你调用你的函数时,你也必须处理这些错误。

作为您的示例,您可以尝试这样做:

代码语言:javascript
复制
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);
    });
};

附注:+因为我是slavic人,所以我理解你的变量,但如果你在代码中使用英语来命名你的变量,函数等,那会更好。

票数 1
EN

Stack Overflow用户

发布于 2020-12-30 01:49:30

我用男人的方式解决了这个问题。

我所做的是注释mysql parser.js中抛出错误的那一行,它在第437行。在您的响应中,您仍然会收到来自MySQL DB的错误消息,但它不会再使服务器崩溃。

如果我得到了一个更好的答案,那么我肯定会使用它。

但由于这是一个针对大学的项目,因此可以很好地工作:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65495714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档