定时器循环永远不会运行

Timer loop never runs

全部, 对于这个问题的简单性,我深表歉意,我是编程新手。我有两个功能,每个功能提示一个 url 加载。我想使用定时器循环让这两个函数每 30 秒执行一次 运行,然后重复循环。在下面的代码中,URL 加载一次,但从未初始化第二个 URL。非常感谢您帮我解答这个问题!

function initializeViz1() {
      var placeholderDiv = document.getElementById("tableauViz1");

      var url1 = "https://public.tableausoftware.com/views/SCADA_SERVER_DASHBOARD/Dashboard1?:embed=y&:display_count=no";

      var options = {
          width: 2000,
          height: 1200,
          hideTabs: true,
          hideToolbar: false,
          onFirstInteractive: function () {
              workbook = viz.getWorkbook();
              activeSheet = workbook.getActiveSheet();
          }
      };
      viz = new tableauSoftware.Viz(placeholderDiv, url1, options);
  }

  function initializeViz() {
      var placeholderDiv = document.getElementById("tableauViz");
      var url2 = "https://public.tableausoftware.com/views/Book1_1719/Sheet1?%3AshowVizHome=no#1";
      var options = {
          width: 2000,
          height: 1200,
          hideTabs: true,
          hideToolbar: false,
          onFirstInteractive: function () {
              workbook = viz.getWorkbook();
              activeSheet = workbook.getActiveSheet();
          }
      };
      viz = new tableauSoftware.Viz(placeholderDiv, url2, options);
  }


  var counter = 0;
  var i = setInterval(function () {
      // do your thing
      if (counter === 0) {
          $(initializeViz);
      } else if (counter === 1) {
          $(initializeViz1);
      }
      counter++;
      if (counter === 2) {
          clearInterval(i);
      }
  }, 15000);

你可以像这样使用 setTimeout()

function testFunction(){
    //do your thing

    setTimeout(testFunction, 30000);
}

testFunction();

相关 post 此处: Call a javascript function every 5 seconds continuously