将变量设置为请求的响应

时间:2017-11-13 06:04:21

标签: node.js request httprequest

我在node.js中使用node-rest-client或请求库来对服务进行API调用。我希望能够使用let和scoping来捕获响应,但只能获得请求...

在下面的代码中,当我控制日志新请求时,它会记录请求数据,当我在函数内部并记录info.check.id时,它会记录正确的数据。

var request = require(' request');

var options = {
  url: 'https://api.pingdom.com/api/2.1/checks/******',
  headers: {
    "App-Key": "******************"
  }
};

  function callback(error, response, body) {
    if (!error && response.statusCode == 200) {
      var info = JSON.parse(body);
     // console.log(info);
     console.log(info.check.id)
     // console.log(response.info);
    }
    else { 
  //      console.log(body);
    }
  }

let newrequest = request(options, callback).auth('********', '********');

console.log(newrequest);

1 个答案:

答案 0 :(得分:0)

此时:

console.log(newrequest);

请求尚未响应,因为实际上尚未进行调用。由于节点的异步性质,请求仅在行console.log(newrequest);之后进行。您将只能在回调中访问响应,事实上,回调的整个点是为了让您可以处理响应。