首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript wait()函数

Javascript wait()函数
EN

Stack Overflow用户
提问于 2013-03-29 08:24:45
回答 2查看 155.9K关注 0票数 29

我想创建一个JavaScript wait()函数。

我应该编辑什么?

代码语言:javascript
复制
function wait(waitsecs) {
    setTimeout(donothing(), 'waitsecs');
}

function donothing() {
    //
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-29 08:31:53

Javascript不是线程化的,所以“等待”将冻结整个页面(并可能导致浏览器完全停止运行脚本)。

要专门解决您的问题,您应该在setTimeout调用中删除donothing后面的括号,并将waitsecs设置为数字而不是字符串:

代码语言:javascript
复制
console.log('before');
setTimeout(donothing,500); // run donothing after 0.5 seconds
console.log('after');

但这不会停止执行;"after“将在函数运行之前被记录下来。

要正确等待,您可以使用匿名函数:

代码语言:javascript
复制
console.log('before');
setTimeout(function(){
    console.log('after');
},500);

你所有的变量仍然在"after“部分。你不应该把这些链接起来--如果你发现自己需要这样做,你需要看看你是如何构建程序的。此外,如果需要循环,您可能希望使用setInterval / clearInterval

票数 62
EN

Stack Overflow用户

发布于 2013-03-29 08:26:20

你不应该编辑它,你应该完全废弃它。

任何使执行停止一段时间的尝试都会锁定浏览器,并将其切换到无响应状态。你唯一能做的就是正确地使用setTimeout

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15694470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档