对于NodeJS我还是比较新的。我意识到我需要将下面的代码放在回调中,以便我可以等待数据库调用完成,但我看不出如何使其工作。NodeJs需要在回调函数中包装函数
我需要我的结果返回到被标在这段代码底部的父功能:
exports.gtoken = function(req, sfinfo) {
var outcome = {};
req.app.db.models.Account.findById(req.user.roles.account.id, 'isVerified extraemail search memberid name').exec(function(err, account) {
if (err) {
return console.error(err + 'issue');
}
outcome.account = account;
var memberid = JSON.stringify(outcome.account);
var g = (new Date().getTime())/1000;
var n = (g + 86400);
var memberid = outcome.account.memberid;
var secondaryemails = outcome.account.extraemail;
var isVerified = outcome.account.isVerified;
var IDName = outcome.account.name;
var payload = {
"email": req.user.email ,
"exp": n,
"iss": req.app.locals.issid ,
"userid": req.user.id ,
"signedin": 'true' ,
"memberid": memberid ,
"secondaryemails": secondaryemails ,
"isVerified": isVerified ,
"IDName": IDName ,
"sfinfo": sfinfo,
};
var token = jwt.encode(payload, req.app.config.cryptoKey, 'HS512');
console.log(token);
return token;
});
// I need to return my result here to the parent function
};
我们怎么知道什么“不工作”特别? – zerkms
抱歉,我在返回后在控制台中得到令牌。 – scottmont
好吧,那么?你已经掌握了控制台?把它放在控制台上是你正在谈论的问题? – zerkms