P5回路长度乘长度

时间:2018-10-21 18:37:14

标签: javascript java loops nested p5.js

我正在遍历.csv,它有效。

问题是我需要放慢我的Loop的速度,因为服务器(在我的代码后面)有一个请求限制。我尝试了this之类的delay()函数,但是它们只是使一切变慢了。所以我决定给我们一个localHost来降低URL本身的速度-可以。

问题:不是一个“数据”通过循环/被延迟/继续等等。

许多“数据”是同时通过循环的-因此我立即降低了它们的速度,仍然达到了服务器限制。

问题1:是否有一种简单的方法来进行delay(),或者说一次只能一次传递一个“数据”的循环?

问题2:如果不是:我考虑过将循环限制为.csv行1 把它放在另一个逐行重复的循环中-我不知道如何编码-我是P5的新手,也是Code的新手

我的代码

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('http://localhost:4567/2000/https://api.openrouteservice.org/directions?api_key='+ Key +'&coordinates=' + 
          lon + ',' + lat + '|11.789879,50.1905748&profile=' + profile + '&preference=' + preference + '&format=geojson', getData);
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();   
}         
}

因此,我希望for“ j”循环通过孔.csv j<Städte.length。 但是后来我达到了我的请求限制。

实际上我需要索要.csv的一行/延迟/发送 等等

如何在.csv中的每一行之后创建2秒的间隔?

1 个答案:

答案 0 :(得分:0)

通常,我建议使用millis()函数或frameCount变量在P5.js中执行计时逻辑。在标签中搜索这些关键字可以为您带来一堆结果。

但是在您的情况下,您可以使用setTimeout()函数来触发“循环”的下一次迭代。像这样:

var currentIndex = 0;

function setup() {
    nextIteration();
}

function nextIteration(){

    console.log('current index: ' + currentIndex);

    // Do something with the current index here

    currentIndex++;

    // Call the nextIteration() function in 1 second
    setTimeout(nextIteration, 1000);
}

但是说实话,这是一个绕过似乎过于严格的配额的黑客。如果我是你,我会考虑增加您的配额。或者,也许您可​​以只对数据进行一次预处理,而不是每次都从头开始获取数据?