У меня возникли проблемы с созданием HTTP-запроса внутри цикла.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;
}
});
Я надеюсь, что было ясно с вопросом.
См. Http: // stackoverflow.com/questions/750486/javascript-clos-inside-loops-simple-practice-example –