【发布时间】:2022-01-23 06:22:40
【问题描述】:
我正在尝试从我的 get_salt_and_hash() 函数返回结果(一个 json 对象数组)。然后我想在另一个函数中使用结果。 (在这种情况下,结果数组的长度为 1。)
但是,在我的另一个函数中调用 get_salt_and_hash() 之后,当我尝试打印对象时,我得到了未定义的结果。我不确定为什么,因为原始函数中的 console.log(results) 有效。谁能帮帮我。
const get_salt_and_hash = (email) => {
const query = `SELECT p_salt, p_hash FROM USERS_TABLE WHERE email= "${email}"`;
db.query(query, (err, results) => {
if (!err) {
console.log(results);
return results[0];
} else {
throw err
}
})}
const verify_user = (email, password) => {
let result_obj = get_salt_and_hash(email);
console.log(result_obj);
// const p_hash = result_obj['p_hash'];
// const p_salt = result_obj['p_salt']
}
我怀疑它与异步代码有关,因为进行 db 查询需要时间,但我对异步 javascript 几乎一无所知,所以我认为最好问问其他人。
提前致谢!
【问题讨论】:
标签: javascript mysql node.js express