моя функция token возвращает значение undefined вместо true, функция issuetoken выдает токен, проверенная функция токена проверяет выданный токен.моя функция возвращает undefined, как я могу решить эту проблему
var jwt = require('jsonwebtoken'); //import the jwt mmodule
var secret = process.env.JWT_SECRET || "david"; // secret question
//issue token function
issuetoken = function (username) {
var token = jwt.sign({
username,
exp: Math.floor(Date.now()/1000) + (60 * 60),
}, secret);
return token;
}
//this function verifies the token, it return true if verification is succesfull and return false if not successfull
verifytoken = function (token, secret) {
jwt.verify(token, secret, function (err, vt) {
if (err) {
console.log(err);
return false;
}
else {
return true;
}
});
}
var token = issuetoken("david");// issue the token with username david
var a = verifytoken(token, secret); //verification of token
console.log(a); //it returns undefined instead of true
Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (Http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an -асинхронный вызов) – Frxstrem