Javascript 更新在整个项目中导出的对象
我有以下与其他文件共享的对象 /UTIL/令牌Javascript 更新在整个项目中导出的对象,javascript,node.js,Javascript,Node.js,我有以下与其他文件共享的对象 /UTIL/令牌 module.exports=(函数(){ 常量缓存={ 访问令牌:“jhkjfdhgkjhfkjmvbnmvcmgkjcvbnbfjhxvnm”, 到期日:2592000, 令牌类型:“持票人” }; 返回{ 获取(键){ 返回缓存[键]; }, 设置(键,val){ cache[key]=val; } }; }());使用函数生成axios配置。您已经通过调用cache.get('access_token')创建了一次配置,使用相同的对象将不
module.exports=(函数(){
常量缓存={
访问令牌:“jhkjfdhgkjhfkjmvbnmvcmgkjcvbnbfjhxvnm”,
到期日:2592000,
令牌类型:“持票人”
};
返回{
获取(键){
返回缓存[键];
},
设置(键,val){
cache[key]=val;
}
};
}());代码>使用函数生成axios配置。您已经通过调用cache.get('access_token')
创建了一次配置,使用相同的对象将不会再次调用cache.get
。使用这样的函数
function makeAxiosConfig(headers) {
return {
headers: Object.assign({}, headers, {
Authorization: `Bearer ${cache.get('access_token')}`
}),
method: 'GET',
url: 'http://getUser/12345',
timeout: config.app.enterpriseHTTPTimeout
}
}
// then inside you express middleware use it as follows
axios(makeAxiosConfig(res._headers)).then(() => {
// do something
}).catch(ex => {
// update token
return axios(makeAxiosConfig(res._header);
});
值是否已更新并保存在内存中?如果使用SET Method,则文件中的值不会得到更新。是的,该值会加载到内存中。如果要更改文件中的值,必须显式写入文件。