如何在不停止JavaScript中其他所有内容的情况下等待一部分代码?

时间:2019-05-03 00:34:10

标签: javascript html5-canvas timing

因此,我需要让一个函数在执行之前等待一个时间间隔,但是,我需要在等待过程中执行其余代码。基本上,我想更改传递的时间函数中的变量,而不必等待所有代码等待执行。

我将举一个例子,以便您可以更好地理解我。

function example(){
    sampleCode();
}

var x = 0;

if(x > 0){
    console.log("enough time has passed")
}

example();

请记住,整个代码块每秒被重复多次,而不是一个执行程序。我需要使x大于0而不阻止执行“ example”,因此setInterval是一个nono(除非它具有我不知道的功能)。我怎样才能做到这一点? (忽略在此范围内定义x的事实,因此将x设置为0,并假设它是一个全局变量)。

编辑:建议我使用setTimeout并显示如何使用它,这是以下方法:

function handleMouseClick(evt){
    [...]
    setTimeout(test(), 3000);
}

function test(){
    alert("Testing");
}

无论我在超时中投入多少时间,这都会立即显示警报。怎么了?

1 个答案:

答案 0 :(得分:-1)

您遇到的问题是您没有正确使用setTimeout函数。您需要从通话中删除括号。

setTimeout(test, 3000);

下降投票者;今天晚些时候,当我在电脑旁时,我将为以后的读者提供更全面,详细的答案。我目前正在休息,没有电脑。您可以查看我的其他一些答案,以使您放心,我将再次充实更详细的答案。