【发布时间】:2016-05-24 18:30:53
【问题描述】:
我在循环内发出 HTTP 请求时遇到了一些麻烦。
让我解释一下我有什么......
我创建了一个 http GET 来检索一些值,然后我需要为我刚刚从第一个请求中获取的每一对值创建另一个 HTTP GET。
这两个调用都可以,如果我切断for 循环并尝试运行整个请求链,它可以完美运行,但自从我删除循环以来只有一次。我怎样才能让它发挥作用?
代码如下:
request({
url: "some_url",
method: "GET",
json:true,
headers:[{'content-type': 'application/json'}]
}, function (error, response, body){
if(!error & response.statusCode === 200){
for(var i=0;i<body.length;i++){
for(var j=i;j<body.length-1;j++){
//if(i === body.length-1) return;
src = body[i].name;
dest = body[j+1].name;
console.log("sorgente ",sorg);
request({
url: "https://maps.googleapis.com/maps/api/distancematrix/json?origins="+src+"&destinations="+dest,
method: "POST",
json:true,
headers:[{'content-type': 'application/json'}]
}, function (error, response, body){
if(!error & response.statusCode === 200){
console.log("TIME ",body.rows[0].elements[0].duration.text);
return;
}else{
console.log("google API failed!: ");
return;
}
});
}
}
}else{
console.log("/google_api failed!: ");
return;
}
});
我希望我对这个问题很清楚。
【问题讨论】:
标签: javascript node.js http-request