Javascript - 设置每个数组值的间隔。设置间隔、数组、foreach

5 javascript php arrays jquery

我试图在某个时间间隔内获取每个数组链接。例如:我得到第一个链接,等待 30 秒,下一个链接,等待 30 秒另一个链接等。这是我的代码:

var urls = [ 'http://mylink1','http://mylink2','http://mylink3','http://mylink4'];

setInterval(function(){
        urls.forEach(function(entry){
            console.log(entry);
            ajaxd(entry);
            console.log("merge pana aici");
        });
    },30000);

function ajaxd(my_url) {
    $.ajax({
        type : "POST",
        url : my_url,
        success : function(msg) {
            console.log(my_url);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

问题是,30 秒后我就得到了所有链接。不是第一个值,等待 30 秒,下一个值,依此类推。

Jer*_*her 3

编辑更新代码以导致循环重复。

(function() {

  var urls = ['http://mylink1', 'http://mylink2', 
              'http://mylink3', 'http://mylink4'];

  // Start off at the first element.
  var idx = 0;
  var len = urls.length;

  // Do the next link
  function doNext() {
    var entry = urls[idx];

    console.log(idx + ":" + entry);
    //ajaxd(entry);

    idx++;
    console.log([idx, len]);
    if (idx < len) {
      // Don't do anything special
    }  else {
      // Reset the counter
      idx = 0;
    }
    setTimeout(doNext, 300);      }

  // And the code needs kicked off somewhere
  doNext();

}());//end of function 
Run Code Online (Sandbox Code Playgroud)