【发布时间】:2012-11-15 19:13:52
【问题描述】:
我有一个函数 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 函数,但我不确定它是否可以做我想做的事情。
【问题讨论】:
-
JavaScript 通常是单线程的。您的
checkReg正在制作XMLHttpRequest? -
我相信是的,它是来自第 3 方 SDK 的功能,我使用它必须与他们的服务器通信
-
@Amanni:它不提供回调什么的吗?
checkReg究竟做了什么? -
返回 1、0 或错误
-
@Amanni:你有那个第 3 方 SDK 的 API 参考吗?它应该告诉你它是否接受回调函数。
标签: javascript timer thread-sleep