【发布时间】:2022-01-19 14:55:42
【问题描述】:
我正在尝试检查具有给定电子邮件 ID 的用户是否以前注册过。如果是,则将名为uniqueUser 的变量设置为false。但是,即使条件为true,此变量也保持不变。它的值在本地发生变化,但是一旦 promise 被解决,值就会恢复到之前的值。
这里是代码:-
router.post('/register-user', multer_profile_pic.any(), (req, res, next) => {
var uniqueUser = true; //----> This value is being focused
const user = req.body;
var query = `SELECT * FROM users WHERE email=$1`;
var values = [user.email];
db.query(query,values)
.then(result => {
if(result.rowCount > 0) {
uniqueUser = false;
console.log("uniqueUser="+uniqueUser); //----> Here value becomes false
}
})
.catch(err => {
uniqueUser=false;
});
if(uniqueUser) {
console.log(uniqueUser); //----> Here value becomes true
//INSERT QUERY HERE
}
const josn_resp = {
response: response,
message:message
}
res.json(josn_resp);
});
【问题讨论】:
标签: node.js postgresql