Я пишу простое приложение, которое извлекает некоторые данные геокодирования из API геокодирования Google Maps. Я пытаюсь получить эти данные для массива адресов (в строках), используя узел-геокодер (this package) внутри async.each() (от this package) функции:Функция маршрута узла ничего не делает
async.each(entries, function(entry, callback) {
geocoder.geocode(entry.address, function(err, res) {
resultCheck.push(res);
var point = {
address: entry.address,
coordinates: {
latitude: res.latitude,
longtitude: res.longtitude
}
};
pointSet.points.push(point);
callback();
}, function(err) {
if(err) { errorArray.push(err); }
});
});
Тесты показывают, что функция асинхронной обрабатывает каждый элемент массива, но функция геокодирования ничего не делает (resultCheck и errorArray передаются в ответ на запросы).
Будучи почти полным номером JavaScript, я также хотел бы спросить - этот подход подходит близко к правилу?
Любые идеи были бы приветствованы, спасибо заранее.
EDIT: Кажется, что функция async не ждет ответа GM API, чтобы работать над этим, опубликует, если я это преодолею.
Благодарим за отзыв, но обновленное приложение работает точно так же - оба результата Check и errorArray заканчиваются пустым. Что касается ваших предположений - вы были верны асинхронному пакету, и что касается GM API, я не использую JavaScript API, я пытаюсь подключиться к (HTTP) (HTTP one) (https: // developers. google.com/maps/documentation/geocoding/intro) через пакет npm node-geocoder. Я обновил свой вопрос. –