JavaScript
Node.js

ループをゆっくり回す

More than 3 years have passed since last update.

APIのリクエスト制限などで、ループをゆっくり回したいときに使う。


var request = require("request");

var list = ['東京駅', '高崎駅', '前橋駅'];

loop(list, geocoding, 2000); //2秒毎にループ

//ジオコード問合せ
function geocoding(address){
var geocodeURI = 'http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=';
var requrl = geocodeURI + encodeURI(address.toString("utf8"));
request(requrl, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(JSON.parse(body).results[0].geometry);
}
});
}

//ゆっくりループ
function loop(array, callback, interval){
array.forEach(function(d, i){
setTimeout(function(){
callback(d);
}, i * interval);
});
}