我想使用setInterval()连续调用下面的函数,但前提是if语句中的条件评估为true。
注意:该函数是全局函数。

function view_stack(){
    if(my_stack.size() > 0){
        document.getElementById("stack_visual").innerHTML = my_stack.view();
    } else {
        swal("Ohhhh Noes", "There are no items in the stack!", "error");
    }
}


有办法可以实现吗?

最佳答案

使其无所事事时,您的函数不执行任何操作。这样,您可以简单地保持间隔运行。

实际上,您的代码已经这样写了,我将这样重新排列它:

function view_stack(){
    if(my_stack.size() === 0) return;
    document.getElementById("stack_visual").innerHTML = my_stack.view();
}

setInterval(view_stack, 1000);


更为优雅的解决方案是基于事件的,即,只要my_stack更改,就更新视图。

关于javascript - js函数中带有“if”条件的SetInterval(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46630539/

10-09 18:03
查看更多