ajax轮询:比setTimeout更频繁地发送请求

时间:2014-04-18 18:29:08

标签: javascript jquery ajax polling

我有以下ajax轮询代码:

function pollStatus(url){
    $.get(url, function(response){
        if (response.uploaded === null){
            setTimeout(pollStatus(url), 5000);
        }
    };
}

当我查看网络选项卡时,我看到几乎每秒发送一次请求,而不是在settimeout中指定的5秒。我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

您的函数正在立即调用,因为您必须在timeout中传递参数,请使用匿名函数:

 setTimeout(function() {
     pollStatus(url)
 }, 5000);