javascript - MySQL 错误/异常使节点 js 服务器崩溃
问题描述
当 MySQL 返回错误/异常时,我的 nodejs 服务器崩溃。
这是我后端的代码。我在查询函数中使用了 if else,然后我得到了响应,但我的服务器崩溃了。尝试并抓住它仍然崩溃,我没有得到任何回应。
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真的很陌生,还在学习。
我看到的唯一解决方案是捕获错误,以免服务器崩溃。
提前致谢。
解决方案
我从未使用过带有节点的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);
});
};
Ps - 因为我是斯拉夫人,所以我理解你的变量,但如果你在代码中使用英文作为变量、函数等的名称会更好。
推荐阅读
- azure-data-factory - ADF v2 中的源到接收器文件夹映射
- java - @SpringBootApplication 是否能够在没有 META-INF/spring.factories 的情况下找到并自动配置所有依赖项的 bean?
- c++ - 在编译时初始化非常大的 C++ std::bitset
- graphql - Nest.js GraphQL Schema 在构建期间生成
- django - 我不断收到 403 响应错误。我正在使用带有自定义身份验证方法的 django restframework
- android - 在发布模式下打开 image_cropper 时应用程序崩溃
- google-api-dotnet-client - 如何为已注册的每个用户调用 SubscribeWithGoogle 服务的 Entitlements api
- vue.js - 如何在 BootstrapVue 的 b 表中显示一个空行
- ios - 如何过滤数组的时间?
- python - 使用 groupby 将重复值替换为 NaN