0
我确信这里的问题是根本,我不是必要的,异步的方式思考却为Node.js的为什么这个函数的返回值被忽略?
我有一个函数userExists()
一个模块db
它检查时通过电子邮件用户是否在数据库中,并返回true
或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()
回报。我该如何解决这个问题?
谢谢!我基本上在那里,但由于某种原因无法做出最后的飞跃。我把它归咎于我的感冒。 – tsvallender
没什么大不了的。调整节点异步流程需要一段时间。 – TheHippo