我很确定这里的问题只是我还没有以必要的异步方式思考 Node.js。
我userExists()
在一个模块db
中有一个函数,它在传递电子邮件时检查用户是否在数据库中,并返回true
or false
。
相关部分:
userExists : function(email) {
var client = new pg.Client(app.conString);
var query;
var result = false;
client.connect();
query = client.query(
"SELECT * FROM users WHERE email = $1",
[email]
);
query.on('row', function(row) {
result = true;
});
query.on('end', function() {
client.end();
return result;
});
我这样称呼它:
if (!db.userExists(req.session.email)) {
newUser();
} else {
updateUser();
}
}
无论返回什么,它总是newUser()
被调用。userExists()
我该如何解决这个问题?