ajax 轮询:请求发送的频率高于 setTimeout
Posted
技术标签:
【中文标题】ajax 轮询:请求发送的频率高于 setTimeout【英文标题】:ajax polling: requests sent more frequently than setTimeout 【发布时间】:2014-04-18 18:29:08 【问题描述】:我有以下 ajax 轮询代码:
function pollStatus(url)
$.get(url, function(response)
if (response.uploaded === null)
setTimeout(pollStatus(url), 5000);
;
当我查看网络选项卡时,我看到请求几乎每秒发送一次,而不是 settimeout 中指定的 5 秒。我在这里做错了什么?
【问题讨论】:
【参考方案1】:你的函数被立即调用,因为你必须在timeout
中传递一个参数,所以使用匿名函数:
setTimeout(function()
pollStatus(url)
, 5000);
【讨论】:
以上是关于ajax 轮询:请求发送的频率高于 setTimeout的主要内容,如果未能解决你的问题,请参考以下文章