您好我正在处理Django中的应用程序。我有多个线程在运行,我需要定期检查线程的状态。所以我使用了setInterval()
,但是当我在线程中遇到异常时我想要停止它。但它并没有停止并继续调用URL。这是我的代码:
function checkThreadsStatus(){
var g_progress_intv = setInterval(function() {
$.post("some_url", function(json_response) {
var jsonObj = eval("(" + (json_response) + ")");
if (jsonObj.exceptionOccur){
clearInterval(g_progress_intv);
g_progress_intv = 0;
}
else{
//do some stuff
}
});
}, 2000);
}
jsonObj.exceptionOccur
是一个boolean
变量。但是True
setInterval()
不是Stop
。
答案 0 :(得分:0)
如果您在var g_progress_intv
之前定义setInterval
该怎么办?但它应该在你得到它的时候工作,你的定义没有错。
DEMO:http://jsfiddle.net/fH6c9/2/
function checkThreadsStatus(){
var g_progress_intv;
g_progress_intv = setInterval(function() {
您应该使用$.parseJSON()
如果您在一个间隔内呼叫checkThreadsStatus()
,则只会在设置的X个间隔中重置一次超时。
您服务器的响应是什么?
答案 1 :(得分:0)
您是否多次调用checkThreadsStatus()
函数?间隔可能会停止,但您将它们声明为彼此。在那里使用一些警报或console.log
来确定变量的实际状态。