Вот код запроса:запрос Javascript API: Проблема с запросом HTTP в цикле
for (var i = 0; i < zips.length; i++) {
process(zips[i].zip);
}
Это обрабатывает данные:
var process = function(zip) {
var params = {
host: 'api.openweathermap.org',
path: '/data/2.5/weather/?apikey=key&zip=' + zip,
method: 'GET'
};
var req = http.request(params, callback).end();
}
Это также обрабатывает данные, заключительный шаг:
var callback = function(response) {
response.on('data', function (chunk) {
console.log(JSON.parse(chunk).name);
});
}
Теперь результаты разные все время и не заказываются:
неопределенного Денвер Kirkland Нью-Йорк Чикаго
или
неопределенного Гонолулу Нью-Йорк Kirkland Денверу
или
неопределенного неопределенного New York Ci не определено Денвер
Почему это происходит? Есть ли способ сделать это синхронным и определить undefined
? Кроме того, сначала всегда undefined
!
Пожалуйста, дайте мне знать, если есть лучшая практика для достижения того, чего я хочу, независимо от того, как я пытаюсь.
Почему вы считаете, что синхронность - это проблема с 'undefined'? – deceze
@deceze, потому что он всегда неупорядочен –
в любом случае, я бы обошел без заказа, но не могу понять, почему он имеет 'undefined' –