2 回答

TA貢獻1833條經驗 獲得超4個贊
你可以返回一個承諾:
async function checkAcount(usr, pass) => {
const sql = "SELECT * FROM account WHERE userName = ?" ;
return new Promise((resolve, reject) => {
con.query(sql, [usr], (err, result) => {
if(err) {
reject(err);
throw err;
}
if(result.length > 0){
bcrypt.compare(pass, result[0].password, function(err, result1) {
if(result1 == true){
resolve(result);
return true;
} else{
reject(err);
return false;
}
});
} else {
reject(err);
return false;
}
});
});
}
不要使用字符串連接來構建 SQL 查詢。這允許 SQL 注入。

TA貢獻1824條經驗 獲得超8個贊
bcrypt 返回一個承諾 https://www.npmjs.com/package/bcrypt#with-promises
bcrypt.compare(pass, result[0].password).then((result) => { return result; })
添加回答
舉報