仅在未在nodejs中验证用户的情况下显示验证菜单

问题描述 投票:0回答:3

仅当未在节点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

node.js ejs
3个回答
0
投票

您的诺言不返回布尔值,它等待并指示SQL查询是否有效,在两种情况下都需要返回布尔值。


0
投票

由于您正在使用诺言,因此您正在处理异步编程。这意味着,您的回报是无法预测的。如何解决分别定义promise的问题,并使用类似于.then(function(res){...})]的代码块进行检查

我建议您查看以下资源:


0
投票

尝试一下,让我知道是否可行。否则,我将提供其他解决方案,

© www.soinside.com 2019 - 2024. All rights reserved.