使用Node&Axios
What I Want to Do个
在我的server.js
文件中,我希望为总是更改的令牌调用API,使用axios(或其他解决方案)创建一个全局令牌变量,并将全局令牌提供给对象中的app.get请求头,所有这些都在我的server.js文件中.
What I'm Trying个
我用……来获取数据.
var data = '<tsRequest>\r\n\t<credentials name="name" password="pword">\r\n\t\t<site contentUrl="" />\r\n\t</credentials>\r\n</tsRequest>';
var config = {
method: 'post',
url: 'https://url.uni.edu/api/3.13/auth/signin',
headers: {
'Content-Type': 'text/plain'
},
data : data
};
我try 创建全局令牌变量(这就是我正在努力的地方)……
const token= axios(config)
.then((response) => {
console.log(response.data.credentials.token);
}).catch((err) => {
console.log(err);
});
console.log(token)
我有一个正在运行的app.get请求,其中我希望使用const token...
app.get('/gql', async (req, res) => {
var someObject = {
'method': 'POST',
'url': 'https://diffurl.uni.edu/api/metadata/graphql',
'headers': {
'X-Some-Auth': token,
'Content-Type': 'application/json'
},
The Current Results个
我所拥有的var data =、var config =和axios(config)都可以通过console.log返回令牌,但是我在使用axios时遇到了两个问题.
The Axios Issues个
-
在我希望创建一个全局令牌变量时,我只知道如何获得console.log的结果,而不是返回一个"有用的数据对象". 在几乎每一篇文档或找到的帮助中,该示例都使用了console.log,对于学习者来说,这并不是一个实际的示例,而不仅仅是在他们的控制台中返回数据. 我需要在AXIOS中提供什么才能创建一个全局令牌对象,而不是sole.log呢?
-
我意识到1.是我当前的拦截器,但如果我运行我的应用程序,我会得到以下结果:
Promise { <pending> }
Express server running on port 1234
abc123 [the console.logged token via axios]
我不确定Promise { <pending> }
是什么意思,我该怎么解决呢?
Beyond The Axios Issues个
如果AXIOS问题被修复,我是否正确地将const token
传入我的app.get... var someObject... headers
?
感谢您所能提供的任何帮助.