仅当未在节点js中验证用户时,我才想显示用户验证菜单>
header.ejs <% if(!isVerified(user.id)){ <li><a href="/auth/logout">User Verification</a></li> } %>
function.js
module.exports.isVerified = function(user_id) { return new Promise(function(resolve, reject) { var sql = 'SELECT * FROM `users` WHERE id='+mysql.escape(user_id)+' and verified=1'; config.db.query(sql,function (err, rows){ if(err){ reject(false); }else{ resolve(rows); } }); }); }
但是它没有显示菜单。...我该怎么办?我不知道我是NodeJS的新手。在此先感谢
仅当未在节点js标头中验证用户时才显示用户验证菜单。ejsUser Verification
您的诺言不返回布尔值,它等待并指示SQL查询是否有效,在两种情况下都需要返回布尔值。
由于您正在使用诺言,因此您正在处理异步编程。这意味着,您的回报是无法预测的。如何解决分别定义promise的问题,并使用类似于.then(function(res){...})
]的代码块进行检查
我建议您查看以下资源:
尝试一下,让我知道是否可行。否则,我将提供其他解决方案,