js有个问题

function sleep(delay) {
    var start = new Date().getTime();
    while (new Date().getTime() < start + delay)
        ;
}
sleep(1000)

请问:这段代码为什么会延迟了1s才执行结束。

阅读 2.2k
4 个回答

传参1000毫秒
代码执行条件是 当前时间 小于 当前时间+ delay 也就是1000毫秒
也就是循环 只要符合循环条件 他就一直循环
所以执行时间大概为1S

什么叫延迟1s才结束
这段代码走了1s后停止循环,我试了一下大概走了8千多次,进程卡死一秒。。。

兄弟,这是用while循环把js线程卡死1秒啊,233

是应该延迟1s啊,getTime返回的是毫秒值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题