微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Javascript-为每个数组值设置时间间隔. setinterval,数组,foreach

我正在尝试以一定间隔获取每个数组链接.
例如:我得到第一个链接,等待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);
        }
    });
}

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

解决方法:

编辑代码已更新,导致循环重复.

(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 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐