我有这个问题,虽然我管理了"结果"的值,但条件表达式"if"总是将"结果"计算为"!== 未定义"我也试图用"结果!== ''" 但不能正确处理它。在这种情况下,我没有来自sql查询的结果,因为"ricovero.cps"不在数据库中,所以我写了一些代码来处理这种情况。我应该如何表现才能使"如果"正常工作?
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;
}
};