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