javascript 实现sleep方法

var sleepTimer;
var leftTime ; //睡眠剩余的时间
var sleepStep = 20 ; //每次睡眠时间默认20毫秒

backfunc 为睡眠完了要重新执行的方法, 一般是调用sleep方法的方法

何时调用sleep方法, 用一个全局变量进行线程通信.


function sleep(mill,backfunc)
{
 leftTime  =  mill;
 sleepTimer = setInterval(sleepCount,sleepStep, backfunc);
}
//sleep方法的执行方法
function sleepCount(backfunc)
{
 leftTime = leftTime -sleepStep;
 if(leftTime <0)
  {

    clearInterval(sleepTimer);

    backfunc();

   }
}

 

因为使用了全局变量, 所以不能保证同一个页面多处sleep调用能正常使用

可以为每次调用创建一个frame, 把全局变量和方法都放到frame中.

再就是借助与服务器的通信来实现睡眠

 

 

以上所有未经实验...

你可能感兴趣的:(JavaScript,function,sleep,SetInterval)