【发布时间】:2012-02-01 04:21:22
【问题描述】:
我想在以下循环的每次迭代中添加 1-2 秒的延迟。
<html>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<input id="start" type="submit"> </input>
<div id='status'></div>
<script>
var geocoder=new google.maps.Geocoder();
var glGeocodeCount = 0 ;
$(document).ready(function() {
$('#start').click(function() {
//srPerformGeocode("TD Tower, 55 King Street West, Toronto, ON, Canada, M5K 1A2");
for(x=0;x<20;x++){
srPerformGeocode("TD Tower, 55 King Street West, Toronto, ON, Canada, M5K 1A2");
}
return false;
});
});
function srPerformGeocode(address){
if (geocoder){
geocoder.geocode({ 'address': address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK){
$('#status').prepend("Success : " + address + "<br/>");
}
else{
$('#status').prepend("Failed : " + address + "<br/>");
}
});
}
}
</script>
【问题讨论】:
-
为什么要对同一个地址进行 20 次地理编码?
-
为例。我注意到一些 API 的供应商(如谷歌)不喜欢你过于频繁地敲门。我想通过使用计时器来减少通话频率,但在循环中使用它时遇到问题,
-
没错,但你为什么每次都用同样的要求敲门呢?
-
我不会,但包含 20 个(或 200 个地址)不会对问题增加太多。我的问题更多是关于延迟循环。
标签: javascript loops