如何将返回的函数值传递给ejs

时间:2019-01-22 19:00:59

标签: javascript node.js ejs

我想将返回的函数值传递给ejs引擎模板,但我却得到了“未定义”。

我有一个带有几个功能的文件-util.js,在那个文件中,我有:

var models = require('../../models');
var UserModel = models.user;
var FotoModel = models.photographer;

function whoAmI(req, res){
    FotoModel.findOne({
        where: {
            IdUser: req.user.IdUser
        }
    }).then(function (foto) {
        if(!foto){
            return "Client"
        }else{
            return "Photographer"
        }
    });
}

module.exports ={
    whoAmI: whoAmI,
}

我有一个名为controller.js的文件:

var util = require('../models/util.js');
var exports = module.exports = {}

exports.profile = function(req, res){

    res.render("profile", {
                name: req.user.Name,
                lastName: req.user.LastName,
                login: req.user.Login,
                email: req.user.Email,
                ifClient : util.whoAmI(req, res)
    });

}

在ejs中渲染视图时,我想发送给变量“ ifClient”,并从函数“ whoAmI”返回值。当我这样做时,我会变得“未定义”。我该怎么办?

0 个答案:

没有答案