我尝试为更新状态创建间隔,但在控制台日志中返回:
未定义
我需要每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;
}
})();
我不知道这是否是更新状态并返回的正确方法
答案 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);
})();
缺少一些基本代码,因此尚不清楚确切的输出是什么。但是,解决这两个问题可能会使您更接近要达到的目标。