我对node和javascript还是很陌生,但是我无法将来自HTTP请求的信息存储到可以在请求之外使用的对象中。
我正在遍历另一个对象以获取HTTP请求的路径,并尝试将响应存储在可以在循环外使用的另一个对象中。
function apiRequest(){
var options = {
hostname: 'us-central1-dpduk-s-test-d1.cloudfunctions.net',
path: '',
method: 'GET',
headers:{
Authorization: ' Bearer A416EB2A-5B7F-4A85-9E32-75CDB8F4F0F6'
}
};
for(var i = 0; i < jsonObj.length; i++){
options['path'] = '/parcels/' + jsonObj[i].parcel_number;
var res = http.request(options, function(res) {
var respones = '';
res.on('data', function(data){
respones += data;
})
res.on('end', function(){
var routesETA = JSON.parse(respones);
});
})
res.end();
}
}
我一直遇到未定义的routeETA。
答案 0 :(得分:1)
那是因为您在回调内部声明了变量routeETA,如果要在for循环之外使用它,则应将其与选项一起声明:
checkbox