JavaScript计时器线程

时间:2012-11-15 19:13:52

标签: javascript timer thread-sleep

我有一个函数checkReg(),它检查我的设备是否已在服务器上注册它的第一个引脚并返回一个regStatus变量。该功能工作正常,但注册完成需要一些时间,如果没有确认注册完成,我的申请将无法继续。

我想使用一个简单的线程来检查regStatus一次1秒和5次尝试后如果它还没有注册然后杀死线程并返回,如果在5次尝试之前完成然后杀死线程并继续

Thread(run every 1 sec){
    regStatus=checkReg();
    if(regStatus==='done'){

        //do something
        //kill thread
    }else if(regStatus==='inprogress'){

        //do nothing
    }elseif(regStatus==='error'){

        //kill thread
    }
}

我是JS的新手,不知道如何开始,计时或杀死线程。我使用了setTimeout函数,但我不确定它能做我想做的事。

1 个答案:

答案 0 :(得分:1)

JavaScript一般没有线程,但您可以轻松使用setInterval()代替:

var retry = 0

function checkStatus() {
  var regStatus=checkReg();
  if(regStatus==='done'){
    //...
  }
  if(++retry > 5) {
    clearTimeout(id);
  }
}

var id = setInterval(checkStatus, 1000);