我有以下具有导出功能的js文件:

module.exports = {
  setClientAuthToken: function(authToken) {
    setClientAuthToken(authToken);
  },
  getClientAuthToken: function() {
    getClientAuthToken();
  }
};

var clientAuthToken;

function setClientAuthToken(authToken) {
  clientAuthToken = authToken;
}

function getClientAuthToken() {
  console.log('here!!!!!!');
  console.log('auth token' + clientAuthToken);
  if (!clientAuthToken) {
    console.error("Client Auth Token has not been set");
  } else {
    return clientAuthToken;
  }
}


这两个函数都可以正常工作并被成功调用,但是从clientAuthToken返回的getClientAuthToken变量是'undefined'。

当我将auth令牌登录到函数本身中时,可以看到它已正确设置。我在这里做错了什么?我还需要在export中的变量module.exports吗?

最佳答案

但是从getClientAuthToken返回的clientAuthToken变量
  是“未定义”。


因为您什么也没退。

return添加到功能getClientAuthToken中:

module.exports = {
  setClientAuthToken: function(authToken) {
    setClientAuthToken(authToken);
  },
  getClientAuthToken: function() {
    return getClientAuthToken(); // <-- return
  }
};

09-19 00:34