【发布时间】:2019-06-04 23:41:53
【问题描述】:
我是 Node.js 的新手,在我运行代码时进行身份验证 Promise 始终处于挂起状态。
错误
is Authenticated ?: Promise { pending }
承诺{待处理}
我尝试了不同的方法来使用等待,但我找不到正确的方法。感谢帮助。
代码
return new Promise((resolve, reject) =>
{
console.log(email, password);
var isAuthenticated = false;
isAuthenticated= model.authenticate(email, password).then(function(result){
//console.log(model.authenticate(email, password));
console.log("is Authenticated ?: ",isAuthenticated);
if(isAuthenticated) {
console.log(isAuthenticated);
console.log("Success!");
res.render('/home');
} else {
console.log("ko");
res.redirect("/");
}
}).catch(function(error) {
console.log(error);
});
});
User.prototype.authenticate = function( email, password ) {
connection = this.connection;
return new Promise(function(resolve, reject){
connection.query('SELECT * FROM users WHERE email = ? AND Password = ? AND is_deleted = 0',[email, password],
function (error, results, fields) {
if (error){
console.log("error ocurred",error);
reject(error);
return false;
} else {
resolve(results);
return true;
}
});
});
};
【问题讨论】:
标签: mysql node.js asynchronous synchronization