javascript实现简单的休眠
实现原理:
记录休眠开始时间,循环判断当前时间与开始时间相隔的秒数,如果超过了指定的秒数,则跳出循环。
增加超时是解决换天(23点向0点过渡)的时候会出现的当前秒数比开始秒数小的问题;
代码如下:
1
function GetCurrentTimeSeconds()
2
{
3
// 获取当前时间表示的秒数
4
var d=new Date();
5![]()
6
var hour=d.getHours();
7![]()
8
var minute=d.getMinutes();
9![]()
10
var second=d.getSeconds();
11![]()
12
return hour * 60 * 60 + minute * 60 + second;
13
}
14
15
function WaitTime(sec, timeout)
16
{
17
// 让程序等待指定的秒数
18
// sec:等待秒数
19
// timeout:超时秒数
20
21
var startPos = GetCurrentTimeSeconds();
22
23
var pass;
24
while(true)
25
{
26
pass = GetCurrentTimeSeconds() - startPos;
27
28
if (pass >= sec)
29
{
30
break;
31
}
32
33
if ( pass >= timeout)
34
{
35
break;
36
}
37
}
38
39
}
40![]()
function GetCurrentTimeSeconds()2
{3
// 获取当前时间表示的秒数4
var d=new Date();5

6
var hour=d.getHours();7

8
var minute=d.getMinutes();9

10
var second=d.getSeconds();11

12
return hour * 60 * 60 + minute * 60 + second;13
}14
15
function WaitTime(sec, timeout)16
{17
// 让程序等待指定的秒数18
// sec:等待秒数19
// timeout:超时秒数20
21
var startPos = GetCurrentTimeSeconds();22
23
var pass;24
while(true)25
{26
pass = GetCurrentTimeSeconds() - startPos;27
28
if (pass >= sec)29
{30
break;31
}32
33
if ( pass >= timeout)34
{35
break;36
}37
}38
39
}40

使用方法:
WaitTime(5, 10);//等待5秒,超时为10秒

浙公网安备 33010602011771号