javascript - 无法使用 mysql 的结果读取未定义的属性
问题描述
我有这个问题,虽然我管理了“result”的值,但条件表达式“if”总是将“result”评估为“!== undefined”我也尝试使用“result!==''”但不处理它正确。在这种情况下,我没有来自 sql 查询的结果,因为“ricovero.cps”不在数据库中,所以我编写了一些代码来处理这种情况。我应该如何表现才能使“if”正常工作?
function getIdCPS(ricovero){
console.log("getIdCPS()");
querySQL = "SELECT id FROM codici_pronto_soccorso WHERE codice ='"+ricovero.cps+"'";
console.log("querySQL="+querySQL);
try{
connection.query(querySQL, function(err, result) {
if(err)
console.log(err);
if( result === undefined){
return "";
}else{
console.log("result is defined");
console.log("result=("+result+")");
return result[0].id;
}
});
}catch(e){
console.log("try/catch error:" + e);
}
}
解决方案
只需输入此代码并监控console
const getIdCPS = (ricovero) => {
try {
const errorObj = { code: 400, error: 'Wrong Input' }
if (!ricovero || !ricovero.cps) {
throw errorObj;
}
const querySQL = "SELECT id FROM codici_pronto_soccorso WHERE codice ='" + ricovero.cps + "'";
connection.query(querySQL, (err, result) => {
if (err) {
throw err;
} else if (result) {
console.log(result);
return result;
} else {
throw err;
}
});
} catch (err) {
console.error(err);
throw err;
}
};
推荐阅读
- python - 如何在目录中创建json文件?
- javascript - 使用 json 文件的路径时,Jquery.i18n 不起作用
- javascript - 每次在 Photoshop 中应用特定操作后都会提示“已完成”
- google-cloud-platform - GCP VM 上的 Fluentd 代理设置未将日志推送到日志资源管理器
- sql - 没有为 C1 的第 1 列指定任何列
- excel - 将数据和带有宏的按钮复制到另一个工作簿
- javascript - Lambda 不等待 Async/Await
- reactjs - 使用 axios react 将 json 数据发布到 API
- javascript - 我在使用 React 路由器时遇到问题,因为我的 url 在点击它时会得到更新,但页面没有被呈现
- r - R中的SOAP请求,带有WS-security,SOAPHandler