如何让代码的一部分等待,而不中断JavaScript中的其他所有内容?

如何让代码的一部分等待,而不中断JavaScript中的其他所有内容?,javascript,html5-canvas,timing,Javascript,Html5 Canvas,Timing,因此,我需要让函数在执行之前等待一段时间间隔,然而,我需要在等待期间执行其余代码。基本上,我想改变变量随时间推移的函数,而不必让所有代码等待执行 我给你举个例子,好让你更好地理解我 function example(){ sampleCode(); } var x = 0; if(x > 0){ console.log("enough time has passed") } example(); 请记住,整个代码块每秒重复多次,它不是一个单一的执行程序。我需要在不阻

因此,我需要让函数在执行之前等待一段时间间隔,然而,我需要在等待期间执行其余代码。基本上,我想改变变量随时间推移的函数,而不必让所有代码等待执行

我给你举个例子,好让你更好地理解我

function example(){
    sampleCode();
}

var x = 0;

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

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

编辑:建议我使用setTimeout,并演示如何使用它,以下是如何使用:

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

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

这将导致即时显示警报,无论我在超时中花费了多少时间。怎么了?

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

setTimeout(test, 3000);

下层选民;今天晚些时候,当我在电脑前的时候,我将为未来的读者提供一个更全面、更详细的答案。我目前正在休息,没有带电脑。您可以查看我的其他一些答案,让您放心,我会回来充实一个更详细的答案。

您对此进行了研究吗
setTimeout
是您想要的……您需要了解承诺:@Studocwho我尝试过setTimeout,但是,无论我将其设置为等待多长时间,它总是立即显示并暂停其他所有内容。这不是我要找的。您是在运行
setTimeout(10000)
然后正常键入其余代码,还是通过提供函数和等待时间作为参数来正确使用它。@Aplet123是的,我创建了一个虚拟函数来执行警报以测试它。我已经把它连接到鼠标点击事件上了,也许这有什么关系?这不是很好用的。我很高兴地告诉大家,现在我觉得这个问题很愚蠢。