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
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秒