sleep() 的 JavaScript 版本是什么?

问题描述

在 JavaScript 中,我重写了每个函数,以便它能够尽快结束。您希望浏览器重新获得控制权,以便它可以更改您的 DOM。

每次我想在我的函数中间睡觉时,我都重构为使用setTimeout().

编辑

任何语言中臭名昭著的睡眠或延迟功能都备受争议。有人会说应该总是有一个信号或回调来触发给定的功能,其他人会争辩说有时任意延迟时间是有用的。我说,对每个人来说,一个规则永远不能决定这个行业的任何事情。

编写一个 sleep 函数很简单,并且通过 JavaScript Promises 变得更加有用:

// sleep time expects milliseconds
function sleep (time) {
  return new Promise((resolve) => setTimeout(resolve, time));
}

// Usage!
sleep(500).then(() => {
    // Do something after the sleep!
});

解决方法

有没有sleep比以下pausecomp函数(取自此处)更好的方法来设计 JavaScript 中的 a?

function pausecomp(millis)
{
    var date = new Date();
    var curDate = null;
    do { curDate = new Date(); }
    while(curDate-date < millis);
}

这不是JavaScript 中 Sleep 的重复 - 动作之间的延迟;我想要在函数中间真正的睡眠,而不是在一段代码执行之前的延迟。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...