【发布时间】:2019-05-23 17:09:17
【问题描述】:
我已使用以下代码示例调用返回访问令牌的 API。
var responsedata = '';
unirest.post('http://sandbox.com/api/getToken')
.headers({'Content-Type': 'application/x-www-form-urlencoded'})
.send('apiKey=xewsdw232')
.send('username=theuser')
.end(function (response) {
console.log(response.body);
responsedata = response.body;
});
console.log(responsedata);
回应
{ data: { token: 'JhbGciOiJIUzI1NiJ9',transID:'00582',errorCode: '00',errorMessage: '' } }
我确实得到了登录到控制台的响应,但无法将其分配给我可以在调用函数之外使用它的变量。我正在努力理解回调如何在 javascript 中工作。
【问题讨论】:
-
请告诉我们您收到的回复。
-
问题编辑包括响应日志
-
您应该首先了解 Javascript 的工作原理。 JS 异步工作。您正在尝试在分配之前获得价值。
-
我认为在你的代码中你会使用
responsedata.data。您能否将代码发布到您尝试使用数据的位置,并说明什么不起作用? -
最后一行 console.log(responsedata) 记录空字符串。所以我猜变量 responsedata 没有得到 response.body 值
标签: javascript node.js unirest