我想创建一个JavaScript的wait()
函数。
我应该编辑什么?
function wait(waitsecs) {
setTimeout(donothing(), 'waitsecs');
}
function donothing() {
//
}
我想创建一个JavaScript的wait()
函数。
我应该编辑什么?
function wait(waitsecs) {
setTimeout(donothing(), 'waitsecs');
}
function donothing() {
//
}
Javascript不是线程化的,因此“等待”将冻结整个页面(可能会导致浏览器完全停止运行脚本)。
要针对您的问题进行特定处理,您应该在setTimeout
调用中删除donothing
后面的括号,并使waitsecs
成为数字而不是字符串:
console.log('before');
setTimeout(donothing,500); // run donothing after 0.5 seconds
console.log('after');
但这并不会停止执行;"after"将在您的函数运行之前被记录。
为了正确等待,你可以使用匿名函数:
console.log('before');
setTimeout(function(){
console.log('after');
},500);
在“after”部分,您的所有变量仍将存在。您不应链接它们-如果发现自己需要这样做,则需要查看如何构建程序。此外,如果需要循环,您可能想要使用 setInterval
/ clearInterval
。
setTimeout(()=>{}, 500)
- berriz44你不应该编辑它,而是应该完全废弃它。
任何试图让执行停止一段时间的尝试都会锁定浏览器并将其切换到“未响应”状态。唯一能做的就是正确使用setTimeout
。
setTimeout(donothing(), waitsecs);
但我不知道这样做的意义所在。setTimeout
不会阻塞,也不应该创建自旋等待。https://dev59.com/jnNA5IYBdhLWcg3wdtpd - Matt Ball