<分区>
为什么我们需要将函数传递给 Javascript setTimeOut https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers.setTimeout
为什么我们不能像 sg 一样简单
setTimeOut(1000);
我可以在其中传递一个空的或不存在的函数吗?
我只想在每次迭代后在 for 循环中等待。
<分区>
为什么我们需要将函数传递给 Javascript setTimeOut https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers.setTimeout
为什么我们不能像 sg 一样简单
setTimeOut(1000);
我可以在其中传递一个空的或不存在的函数吗?
我只想在每次迭代后在 for 循环中等待。
最佳答案
Javascript 是单线程的。您可以使用 setTimemout
来推迟操作,但线程将继续。所以
function some() {
doStuff();
setTimeout(otherStuff, 1000);
doMoreStuff();
}
随后将运行 doStuff
和 doMoreStuff
,并在一秒钟后运行 otherStuff
。这就是为什么将 setTimeout
用作延迟本身是无用且不可能的。如果 doMoreStuff
应该被推迟,你应该为延迟做回调:
function some() {
doStuff();
setTimeout(doMoreStuff, 1000);
}
或者 otherstuff
和 doMoreStuff
延迟:
function some() {
doStuff();
setTimeout(function () {
otherStuff();
doMoreStuff()
}, 1000);
}
也许是我对 this SO-question 的回答也很有用。
关于javascript - JS : setTimeOut without function argument?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28406978/