我怎样才能让一部分代码等待而不停止 JavaScript 中的其他所有内容?

How can I make a part of code wait without halting everything else in JavaScript?

因此,我需要让一个函数在执行之前等待一段时间,但是,我需要在等待期间执行其余代码。基本上,我想根据时间更改变量,而不必让所有代码等待它被执行。

我会举个例子让你更好地理解我。

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);

反对者;今天晚些时候,当我在电脑前时,我会为未来的读者做一个更彻底、更详细的回答。我目前正在休息,没有带电脑。您可以查看我的一些其他答案,让您放心,我会回来充实更详细的答案。