首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >javascript中两行代码之间的时间延迟,而不是settimeout

javascript中两行代码之间的时间延迟,而不是settimeout
EN

Stack Overflow用户
提问于 2010-06-16 04:20:19
回答 8查看 47.2K关注 0票数 20

有没有一个函数可以在两行代码之间添加一个时间延迟。不是settimeout,因为settimeout的参数中需要一个函数/对象。

我正在寻找像这样的伪代码

代码语言:javascript
复制
write "abc";
delay(500);
write "xyz";

提亚

编辑:jimr在我的另一个thread中的解决方案符合我的目的,Robusto的也是如此。

我只是想知道为什么Robusto和CMS的链接给出的“睡眠”方法不是首选的。这与settimeout方法有什么不同,因为它们都在代码中引入了暂停?(settimeout在函数执行前暂停,睡眠方法在下一行执行前暂停。)

EN

回答 8

Stack Overflow用户

发布于 2010-06-16 04:28:25

你可以使用setTimeout,这样代码看起来就像是在两行上运行:

代码语言:javascript
复制
write('abc')
setTimeout(function() {
write('xyz')
},500)
票数 14
EN

Stack Overflow用户

发布于 2010-06-16 04:28:14

休眠方法不可用,因为JavaScript执行会阻止浏览器,所以休眠方法会阻止浏览器500毫秒,您真的希望浏览器在半秒内不响应吗?

按照建议使用setTimeout。

票数 12
EN

Stack Overflow用户

发布于 2010-06-16 07:59:50

在JavaScript 1.7中,结合使用yieldasync.js,您可以执行以下操作:

代码语言:javascript
复制
var yourFunction = _(function () {
    write("abc");
    yield to.sleep(.500);
    write("xyz");
});
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3048724

复制
相关文章

相似问题

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