间隔更新状态

时间:2019-02-15 00:50:11

标签: javascript

我尝试为更新状态创建间隔,但在控制台日志中返回:

  

未定义

我需要每100毫秒更新一次返回状态

我的代码:

(function() {
  var status = 'Working...';

  if (document.getElementById('label_s').style.display === 'none') {
    status = 'Stopped.';
  } else {
    status = 'Reading label_s...';
    var labels = document.getElementById('label_s').innerHTML;
  }

  if (document.getElementById('label_d').style.display === 'none') {
    status = 'Stopped.';
  } else {
    status = 'Reading label_d...';
    var labelsd = document.getElementById('label_d').innerHTML;
  }

  status = 'Stopping';

  //UPDATE STATUS
  setInterval(updatestatus, 100);
  function updatestatus() {
    return status;
  }
})();

我不知道这是否是更新状态并返回的正确方法

1 个答案:

答案 0 :(得分:1)

您实际设置状态的代码甚至在setInterval开始之前就已完成。另外,我不确定您要使用变量status做什么,因为您的setInterval函数只会返回,而实际上并没有使用。

也许尝试这样的事情:

(function () {
    var status = "Working...";
    const interval = setInterval( () => {
        console.log(status);
    }, 100);
    if (document.getElementById("label_s").style.display === 'none') {
        status = "Stopped."
    } else {
        status = "Reading label_s...";
        var labels = document.getElementById("label_s").innerHTML;
    }
    if (document.getElementById("label_d").style.display === 'none') {
        status = "Stopped."
    } else {
        status = "Reading label_d...";
        var labelsd = document.getElementById("label_d").innerHTML;
    }
    status = "Stopping";
    // Done. Clear the interval
    clearInterval(interval);
})();

缺少一些基本代码,因此尚不清楚确切的输出是什么。但是,解决这两个问题可能会使您更接近要达到的目标。