У меня есть объект с несколькими точками GPS (широта и долгота), которые я хочу отправить один за другим в Nominatim, чтобы получить адрес точки GPS.Политика использования Nominatim разрешает только 1 запрос в секунду.С
for (let i = 0; i < message.data.gps.length; i++) {
utility.addGPSLookup(message.data.gps[i]);
}
Я передаю точки GPS моей функции, которая отправляет запрос в Nominatim, выполнив:
reverse(lat, lng, cb) {
var url = "http://nominatim.openstreetmap.org/reverse?format=jsonv2";
url += "&email=example@example.com";
url = url.trim();
url += "&lat=" + lat;
url = url.trim();
url += "&lon=" + lng;
url = url.trim();
request.get(
{
url: url,
headers: {'User-Agent': "Logbook", Referer:
"http://www.google.de"},
timeout: 5000
}, function(err, res, data) {
if (err) {
console.log("ERROR");
cb(err);
} else {
var json;
try {
json = JSON.parse(data);
cb(null, res, json);
} catch(e) {
cb(true);
}
}
}
);
}
Я уже пытался использоватьФункция setTimeout в разных местах, но мне не удалось.Как я могу убедиться, что отправляю только 1 запрос в секунду, не блокируя весь мой проект?