从nodejs

时间:2017-12-13 14:57:24

标签: node.js callback promise request

我在auth.js中有以下代码

let request = require("request");


   function getToken(callback) {

    let options = { method: 'POST',
      url: 'https://testsite/openid-connect/token',
      headers: 
      { 
        'content-type': 'application/x-www-form-urlencoded'
      },
      form: 
      { 
        grant_type: 'password',
        username: 'admin',
        password: 'password',
        client_id: '123' 
        } 
      };
      request(options, function (error, response, body) {
      if (error) throw new Error(error);
      callback(body.access_token);
    });
  }

module.exports = {
  getToken,
};

我正在从另一个index.js文件调用getToken方法

let authServ = require('./auth');
const token = authServ.getToken();
console.log(token);

但是我在变量“token”中返回“undefined”而不是实际的令牌。有人可以在我做错的地方帮忙吗?

1 个答案:

答案 0 :(得分:0)

您必须将回调传递给函数getToken

let authServ = require('./auth');
authServ.getToken(function(token) {
   console.log(token);
});