Javascript 用于循环的P5未停止
我想创建一个类似的地图 我的代码已经完成并正常工作,但服务器将我的请求限制为每分钟40个,因此我需要降低请求速度。我发现我的.csv列表中只有一个城市达到了服务器限制(它应该只发送一个请求) 这些错误告诉我,在达到服务器限制之前,我的循环不会停止向服务器发送具有相同城市的请求 我希望循环执行每个Javascript 用于循环的P5未停止,javascript,java,loops,p5.js,Javascript,Java,Loops,P5.js,我想创建一个类似的地图 我的代码已经完成并正常工作,但服务器将我的请求限制为每分钟40个,因此我需要降低请求速度。我发现我的.csv列表中只有一个城市达到了服务器限制(它应该只发送一个请求) 这些错误告诉我,在达到服务器限制之前,我的循环不会停止向服务器发送具有相同城市的请求 我希望循环执行每个.length一次,并且只执行一次 怎么了 var Städte; var data; var profile = 'driving-car' var preference = 'fastest' f
.length
一次,并且只执行一次
怎么了
var Städte;
var data;
var profile = 'driving-car'
var preference = 'fastest'
function setup() {
createCanvas(2000,2000);
loadJSON('URL', gotData);
Städte = loadStrings ('v3.1.csv');
}
function gotData(data) {
var route = data.features;
for (var j = 0; j <= 1; j++ ) {
var citydata = Städte[j].split(/,/);
var lon = citydata[3];
var lat = citydata[2];
loadJSON('URL', gotData);
beginShape();
for (var i = 0; i < route[0].geometry.coordinates.length; i=i+500) {
var x = route[0].geometry.coordinates[i][0];
var y = route[0].geometry.coordinates[i][1];
noFill();
vertex(x*100-200,-y*100+6000);
}
endShape();
}
}
var Städte;
var数据;
var配置文件=‘驾驶汽车’
变量首选项='最快'
函数设置(){
createCanvas(2000年);
loadJSON('URL',gotData);
Städte=loadStrings('v3.1.csv');
}
函数gotData(数据){
var-route=data.features;
对于(var j=0;j如果我正确读取了您的代码(这有点困难,因为它的格式不正确),那么您将在gotData()
函数中重做请求:
var lat = citydata[2];
loadJSON('URL', gotData);
beginShape();
因此,您的代码是这样工作的:
调用setup()
函数
调用loadJSON()
函数,该函数发出请求,然后调用gotData()
函数
调用gotData()
函数
在gotData()
函数中,再次调用loadJSON()
,这会发出另一个请求
一次又一次地调用gotData()
函数
这就是您耗尽配额的原因。为什么在那里有对loadJSON()
的第二次调用?您能删除它吗
还要注意的是,你应该养成习惯并检查你的代码,以了解类似的问题。你能发布函数的代码吗loadJSON
?很抱歉格式化-我是新手。是的,你可能发现了我的错误!我在steup()中加载了JSON然后我需要再次加载以从.csv插入lon和lat(我在gotData的循环中获得lon和lat),这样我就无法在setup()中删除loadJSON,也无法在gotData中删除它?@foliran对loadJSON()的第二个调用是什么
怎么办?它与第一次调用有何不同?听起来你根本不需要第二次调用。当然第一次:loadJSON('Key'&coordinates='+''8.2472526,49.9928617 | 11.789879,50.1905748&profile='+profile+'&preference='+preference+'&format=geojson',gotData);它相当长…-我使用localhost延迟我的请求(->最大40个请求/分钟)-下一个是带有APIKey的URL和路线参数(驾驶、最短路径等)-然后是gotData第二个:loadJSON('Key+'&坐标='+lon+','+lat+')| 11.789879,50.1905748&profile='+profile+'&首选项='+preference+'&格式=geojson',gotData);这是同一个链接,但这次我从.csv中插入了lon和lat,所以也许我不需要这两个链接,但我不能在不松开鼠标的情况下删除它们resut@foliran您需要防止代码在第二次调用后调用loadJSON()
。可以使用第二个函数,而不是使用gotData()
对于这两种情况?或者如果添加一个语句?