NodeJS Q和模块

时间:2015-06-11 17:16:08

标签: javascript node.js q

我有两个文件,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
    }
}

1 个答案:

答案 0 :(得分:0)

您的layertoken.js会返回承诺LayerToken。要获得实际值,请在其上调用.then

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

More info on how Promises work