`
zhouyrt
  • 浏览: 1171981 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript里模拟sleep

 
阅读更多

有几种方式,但都不完美

一、不断循环,直到达到指定时间

function sleep(numberMillis) {
    var now = new Date();
    var exitTime = now.getTime() + numberMillis;
    while (true) {
        now = new Date();
        if (now.getTime() > exitTime)
        return;
    }
}

其实代码并没有让脚本sleep下来, 相反让CPU迅速上到高负荷的附作用。多数现代浏览器会在该段时间内处于假死状态

 

二、用xhr同步请求后台程序,比如传2000过去,后台就sleep 2秒后再返回,这种方式也有缺点,当N多客户端都请求后台时,一直保持连接http开销很大。

 

此外,window对象的alert,confirm也可以中断后续代码的执行

 

 

  • 大小: 62.9 KB
分享到:
评论

相关推荐

    javascript里模拟sleep(两种实现方式).docx

    ### JavaScript模拟sleep功能 在JavaScript中,并没有内置的`sleep`函数来暂停代码的执行。然而,在某些场景下,我们确实需要这样的功能来控制代码执行的节奏或进行定时任务。本文将详细介绍两种在JavaScript中模拟...

    javascript里模拟sleep(两种实现方式)

    1. **通过无限循环模拟sleep** 这种方法的实现是通过一个无限循环来阻塞代码执行,直到达到指定的时间。如标题和描述中提到的`sleep`函数: ```javascript function sleep(numberMillis) { var now = new Date();...

    javascript的sleep

    尽管JavaScript没有内置的`sleep`函数,但通过巧妙利用`setTimeout`等异步机制,我们可以轻松地模拟出类似的效果。这种方法既简单又实用,适用于多种应用场景。需要注意的是,由于JavaScript是单线程的,所以在设计...

    javascript中不提供sleep功能如何实现这个功能

    总的来说,JavaScript中的异步编程依赖于事件循环和回调、Promise以及现代的`async/await`语法,这些机制都设计为非阻塞的,因此直接模拟`sleep`函数并不符合语言的设计哲学。在大多数情况下,应优先考虑使用异步...

    javascript 使用sleep函数的常见方法详解

    本文将探讨如何在JavaScript中模拟实现`sleep`功能,并讨论不同实现方式的优缺点。 一、什么是`sleep`函数? `sleep`函数的基本作用是暂停程序执行,等待指定的毫秒数后再继续执行后面的代码。在多线程环境中,`...

    JavaScript实现Sleep函数的代码

    但在JavaScript中,没有内置sleep函数,不过可以使用setTimeout和setInterval这类定时器函数来模拟sleep的功能。但是定时器是异步执行的,它们不会阻塞后续代码的执行。如果需要同步阻塞功能,那么需要自己实现一个...

    NoSleep.js-master.zip

    综上所述,NoSleep.js是一个用于HTML5页面的JavaScript库,它允许开发者通过模拟音频播放来防止设备自动休眠,尤其适用于那些需要长时间保持屏幕显示的应用场景。通过引入和使用NoSleep.js,开发者可以创建更加用户...

    javascript实现的像java、c#之类的sleep暂停的函数代码

    在给定的代码中,`setTimeout`被用来模拟sleep函数。这虽然不是真正意义上的暂停程序执行,但能够在视觉上模拟出暂停效果。 2. **eval函数**: `eval`函数用于执行一段字符串形式的JavaScript代码。在给定的代码中...

    delphi WebBrowse模拟鼠标点击

    Sleep(10); // WM_LBUTTONUP LMsg.Msg := WM_LBUTTONUP; LMsg.WParam := 0; // 没有按键按下 LMsg.LParam := MakeLong(Y, X); // 同样的坐标 PostMessage(WebBrowser1.Handle, LMsg.Msg, LMsg.WParam, LMsg....

    前端开源库-try-thread-sleep

    在前端开发中,由于JavaScript是单线程的,开发者通常无法直接使用类似于后端编程中的线程睡眠(Thread.sleep)功能。线程睡眠是让当前执行的线程暂停指定时间,然后继续执行的一种方法,这对于某些场景如定时任务、...

    为JavaScript提供睡眠功能(sleep) 自编译JS引擎

    然而,JavaScript的执行模型并不支持类似于其他编程语言中的“sleep”或“wait”函数,因为这会导致浏览器的UI线程阻塞,从而影响用户体验。通常,JavaScript的异步编程模型依赖于回调、Promise或现代的async/await...

    js代码-简单的异步sleep

    "简单的异步sleep"这个主题涉及到如何在JavaScript中模拟一个延迟效果,使得代码在指定的时间间隔后继续执行,而不会阻塞其他任务。下面我们将深入探讨这一话题。 首先,我们需要理解JavaScript的事件循环和回调...

    sleep

    在TypeScript中实现`sleep`功能,主要是为了模拟类似于Java或C#中的`Thread.sleep()`方法,因为JavaScript(以及其衍生的TypeScript)是单线程的,不直接支持阻塞式的`sleep`。 在JavaScript中,由于异步编程模型,...

    js中自定义方法实现停留几秒sleep

    在JavaScript中,由于其单线程的特性,不存在内置的`sleep`方法,这与Java或某些其他编程语言不同。JavaScript引擎(如V8)为了保持网页的响应性,不允许长时间阻塞主线程执行。因此,如果你试图使用类似于Java `...

    【JavaScript源代码】JavaScript实现浏览器网页自动滚动并点击的示例代码.docx

    JavaScript是一种广泛应用于Web开发的脚本语言,尤其在前端领域,它被用来处理用户交互、网页动态更新以及与服务器通信等任务。在这个示例中,我们将深入探讨如何使用JavaScript实现浏览器网页的自动滚动和模拟点击...

Global site tag (gtag.js) - Google Analytics