Javascript getJSON请求在参数数组中循环,每次调用之间都有延迟
有谁能帮助我理解为什么下面的jQuery/Javascript代码不是以每秒1次的节奏运行,而是有大量的ajax调用(慢到每秒很多次)Javascript getJSON请求在参数数组中循环,每次调用之间都有延迟,javascript,jquery,ajax,json,loops,Javascript,Jquery,Ajax,Json,Loops,有谁能帮助我理解为什么下面的jQuery/Javascript代码不是以每秒1次的节奏运行,而是有大量的ajax调用(慢到每秒很多次) var i=0,l=data.length; 函数geocode(){ $.getJSON( 'https://maps.googleapis.com/maps/api/geocode/json', { 密钥:“xxxxx”, 传感器:错误, 地址:data[i][3],, 地区:'gb' }, 函数(d、textStatus、jqXHR){ 如果(d[“状态”
var i=0,l=data.length;
函数geocode(){
$.getJSON(
'https://maps.googleapis.com/maps/api/geocode/json',
{
密钥:“xxxxx”,
传感器:错误,
地址:data[i][3],,
地区:'gb'
},
函数(d、textStatus、jqXHR){
如果(d[“状态”]=“正常”){
console.log(数据[i][3]);
日志(d[“结果”][0][“几何体”][“位置”]);
i++;
如果(i
在我的头脑中,这是这样的:
仅供参考:“数据”是一个嵌套的英国邮政编码数组,我正在尝试使用谷歌的地理编码API检索坐标。您不断设置新的时间间隔,从不取消上一个时间间隔。您应该使用
clearInterval()
取消间隔,或者使用一次性setTimeout
如果使用间隔,则在设置间隔时保存值:
var intervalId;
....
intervalId = setInterval(...);
然后
当你需要一个新的间歇。
或者使用
setTimeout()
并根据需要重新发布 它是如何进入if语句的<代码>1不是<1@ᾠῗᵲᄐᶌ 你读到的“1”实际上是一个“l”(代表利马)。这是怎么回事<代码>变量i=0,然后i++;如果(i
你一说我就发现了。我使用的是setInterval
而不是setTimeout
。是我的错。Thanks@chrsmrrtt. 很高兴你拿到了。
var intervalId;
....
intervalId = setInterval(...);
clearInterval(intervalId);