我有一个函数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函数,但我不确定它能做我想做的事。
答案 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);