当我们在一个js的方法里面,执行一部分代码后,需要让js暂停一断时间,然后再继续向下运行的时候,或者你会想到java的线程sleep(),但js里面没有暂停的函数,所以要自己实现一个,具体方法看下面的:
//js暂停函数
function Pause(obj,iMinSecond){
if (window.eventList==null) window.eventList=new Array();
var ind=-1;
for (var i=0;i<window.eventList.length;i++){
if (window.eventList[i]==null) {
window.eventList[i]=obj;
ind=i;
break;
}
}
if (ind==-1){
ind=window.eventList.length;
window.eventList[ind]=obj;
}
setTimeout("GoOn(" + ind + ")",iMinSecond);
}
//js继续函数
function GoOn(ind){
var obj=window.eventList[ind];
window.eventList[ind]=null;
if (obj.NextStep) obj.NextStep();
else obj();
}
使用方法很简单:
function testJsStop(){
alert("1");
Pause(this,3000);
this.NextStep=function(){
alert("2");
}
}
分享到:
相关推荐
虽然这段代码成功地模拟出了sleep函数的效果,但正如描述中提到的,这种做法存在局限性,并不能完全等同于Java、C#中的sleep函数功能。在JavaScript中,实现时间控制更推荐使用Promise和async/await等现代异步编程...
在JavaScript中,`sleep`函数是一个非常有用的概念,它允许程序员暂停脚本执行一段时间,类似于其他编程语言中的同名函数。然而,JavaScript作为一个非阻塞单线程环境,其原生并不支持`sleep`,因为这会阻塞整个事件...
首先,JavaScript不像一些同步编程语言那样提供直接的暂停函数,因为JavaScript是单线程的,而且通常用于异步编程。JavaScript通常运行在浏览器中,浏览器中有一个事件循环机制,所有的代码都是在事件循环中按顺序...
因此,如果你试图使用类似于Java `Thread.sleep()` 的方法在JavaScript中暂停执行,会导致浏览器变得无响应。然而,可以通过一些技巧和工具来模拟类似的效果。 一种常见的方法是使用`setTimeout`函数,但这种方法并...
- **实现Callable接口**:类似于Runnable,但是可以通过`Future`获取返回结果。 **2.8 什么是死锁?** 死锁是指两个或多个进程因竞争资源而造成的一种僵局,各进程都在等待对方持有的资源,无法继续执行下去。 **...
在JavaScript这种单线程环境中,直接的阻塞式等待(如`sleep`)会导致整个浏览器或Node.js应用的UI线程被冻结,用户体验下降。因此,通常我们会采用异步的方式来模拟`sleep`效果。 1. **循环空耗时间法**: 这种...
【Java小程序概述】 Java小程序,通常被称为Applet,是一种使用Java编程语言编写的微型应用程序,它们可以嵌入...然而,随着技术的发展,如今的Web开发更倾向于使用JavaScript、HTML5和WebGL等技术来实现类似的功能。
在TypeScript中实现`sleep`功能,主要是为了模拟类似于Java或C#中的`Thread.sleep()`方法,因为JavaScript(以及其衍生的TypeScript)是单线程的,不直接支持阻塞式的`sleep`。 在JavaScript中,由于异步编程模型,...
但是Java保留了一个类似于`goto`的功能——标签化的break和continue语句,可以用来控制循环的跳转。 4. **`static`关键字的意义** - `static`关键字用于定义静态成员(变量或方法),这些成员可以直接通过类名来...
- **sleep()**:当前线程暂停执行指定的时间,不释放锁。 - **wait()**:线程等待直到被唤醒,释放锁并进入等待状态。 **4. volatile 和 synchronized 区别** - **volatile**:确保变量的可见性,但不保证原子性。...
- **候选索引**:类似于主索引,也是用来确保字段或字段组合的唯一性,不允许重复值。 - **唯一索引**:确保字段或字段组合的唯一性,但是可以有空值的存在。 - 题目中要求不允许重复值的索引,因此正确答案为 **D**...