引用请求函数之外的值

时间:2016-02-15 00:47:21

标签: javascript node.js request

我想加入变量JSON.parse(body),但不是在函数请求的回调函数中。我怎么能这样做? 这是我的代码:

request('https://' + region + '.api.pvp.net/api/lol/' + region + '/v2.5/league/by-summoner/' + id + '/entry?api_key=' + APIKEY, function(error, response, body) {
    return JSON.parse(body)
})

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以通过说

来设置变量
var Parsedbody = request('https://'...) ({
  return JSON.parse(body); });

或者您可以在请求之前定义变量并在请求中分配它,例如。

var ParsedBody;
request('https://'...) ({
  ParsedBody = JSON.parse(body); });

答案 1 :(得分:0)

你不能像这样回调return,并且在完成之前你不能访问异步操作的值,所以你需要一些同步方法。一个是继续传递:

function callback(body) {
    // use body
}

request(url, (err, response, body) => {
  // handle error

  callback(JSON.parse(body));
});