【发布时间】:2019-06-13 13:36:35
【问题描述】:
我正在通过 Node.js 设置 API 连接。我有一些预定义的 cURL 代码,我将其转换为 Node.js 代码,我在下面提供了这些代码。到目前为止一切正常,我在控制台窗口中显示了我需要的值 (token)。
但是,我想知道如何在另一个函数中使用这个 token 变量?所以我不得不以某种方式将其保存为全局变量,但直到现在这都没有用。
var request = require('request');
var headers = {
'content-type': 'application/x-www-form-urlencoded',
'Authorization': 'XXXXXXXXXXXXXXXXX'
};
var dataString = 'grant_type=client_credentials';
var options = {
url: 'XXXXXXXXXXXXXXXX',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
var str = body;
token = str.split('\"')[3];
console.log(token);
}
}
request(options, callback);
【问题讨论】:
-
为什么要将它设置为全局变量?你不能把它作为需要它的函数的参数传递吗?
-
是的,但我可能需要多个需要“令牌”值的函数。所以我必须两次实现整个逻辑?
-
在这种情况下,我会将该逻辑放在返回所需令牌的函数中,然后在需要令牌时调用该函数。
-
这正是我想要做的。但是,我不太确定如何将我提到的代码放入带有令牌返回选项的函数中
标签: node.js api bearer-token