执行带超时的函数队列循环(javascript)

时间:2017-10-24 13:31:11

标签: javascript loops recursion queue settimeout

我在这里面临一个问题,我需要运行,例如,每次运行2个函数,等待2分钟再次开始运行这两个函数,就像批处理之间暂停的循环一样。 我在这里尝试了一些东西,我知道我的问题是,每当我用myFunction start函数作为回调启动时,我都会得到一个重复的调用。但是现在,我真的不知道最好的方法是什么。

var count = 0;

function myFunction() {
  console.log('function called', count);

  start();
}

function batch () {
  for (i = 0; i < 2; i++) {
    myFunction();
    console.log('batch', i);
  }
  console.log('--------------');
}

function start() {
  console.log('started')

  setTimeout(function() {
    batch();
  }, 2000);

  count++;
}

start();

感谢您的建议;)

1 个答案:

答案 0 :(得分:0)

根据我的理解,你想每两分钟执行两个功能。

您是否尝试过使用window.setInterval

const func1 = () => console.log('func1 called');
const func2 = () => console.log('func2 called');
window.setInterval(() => {
    func1();
    func2();
}, 1000);

现在,func1func2将每秒调用一次。