Node.js返回HTTP请求

时间:2019-10-20 14:25:59

标签: javascript node.js http httprequest

我对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。

1 个答案:

答案 0 :(得分:1)

那是因为您在回调内部声明了变量routeETA,如果要在for循环之外使用它,则应将其与选项一起声明:

checkbox