setInterval()没有按时停止,"跳跃"间隔之间

时间:2015-08-22 20:27:06

标签: javascript jquery ajax

我正在建立一个网络应用程序来帮助一家餐馆,我的客户非常清楚他希望该应用程序是异步的。

在localhost开发期间,我使用setInterval定期更新页面,使用每个按钮的代码变体:

$('#showWaitlist').click(function(){
    showWaitlist();
    stopUpdate(interval);
    interval = setInterval(function() { showWaitlist();}, intervalTime); 
});

function stopUpdate(){  
    clearInterval(interval);
}

因此,每当我点击一个按钮时,它就会停止过去的间隔并启动它自己的间隔。 它工作正常,但是,当我将应用程序移动到服务器时,间隔有时会相互重叠,特别是当服务器处于比平均负载更重的时候或者当我使用手机访问网站时。

如果setInterval和stopUpdate是js,它们不应该在客户端工作并且几乎是即时的吗?什么可能导致这个"跳跃"间隔? 这是指向该网站的链接:http://www.emc2.mx/Pruebas/unicenta/PostodoroApp/

请注意,问题并非总能发生,但如果您在手机上进行操作,则可能会复制该问题。

我在这里添加showWaitlist,但我怀疑它有什么问题。

function showWaitlist(){
    $.ajax({                
        type:'GET',
        url: 'waitlist.php',
        dataType: 'html',
        success: function(result){
            $('#result_table').html(result);
        } // End of success function of ajax form
    }); // End of ajax call 
}

1 个答案:

答案 0 :(得分:1)

您需要清除间隔 通过添加以下行

,ajax调用代码成功
CREATE (:CompanyType { code: "1003", label: "Limited Liability Partnership" });

MATCH (ct:CompanyType { code: "1003" }
WITH ct
CREATE (comp:Company { name: "FooSoft, LLC" })
MERGE (comp)-[:type]->(ct);

以下一行后

clearInterval(interval); // stop the timer once the time finishes.

您需要在success方法回调

中访问interval变量