NodeJS Q 和模块

NodeJS Q and module

我有两个文件,layer-token.jsserver.js

layer-token 生成一个 JWT 令牌,我正在使用 Q 的 promises 逐步完成该过程,一切正常并生成令牌。

我的问题是如何将令牌传递回 server.js,目前 LayerSessionToken 的值是 [Object Promise],我如何访问实际值?

server.js

LayerSessionToken = layerToken.generateToken();

layertoken.js

var returnSessionToken = function(Sessiontoken) {
return Sessiontoken;

}

module.exports = {
    generateToken : function()
    {
       LayerToken= getNonce()
       .then(getIdentityToken)
       .then(getSession)
       .then(returnSessionToken)
       .fail(function (error) {
            response.write('Computer says no, ' + error.message);
       });
     return LayerToken
    }
}

你的layertoken.jsreturns一个承诺LayerToken。要获得实际值,您可以在其上调用 .then

LayerSessionToken = layerToken.generateToken();
LayerSessionToken.then(function(actualValue){
    // do something with actualValue
});

More info on how Promises work