我正在编写一个 Web 应用程序(HTML/CSS/JS 前端,C# 后端),预计用户会在同一页面上停留一段时间(通常超过 10 分钟)。我想定期检查服务器以查看用户的会话是否已过期。使用 setInterval 以 2 到 5 分钟的间隔向服务器发出 AJAX 请求有什么缺点吗?
问问题
3645 次
2 回答
8
不,没有缺点。但是,计时器并不是最准确的。另请参阅: setInterval 会漂移吗? 这对您来说可能无关紧要,因为对于快速触发的计时器来说这是一个更大的问题。另外,这听起来也不像确切的时间对你来说是个问题。
于 2012-08-13T16:40:40.823 回答
6
这样做没有问题。仅当您不保留间隔 ID 并同时运行多个间隔时(尤其是延迟非常小时),才会出现性能问题。为了防止这种情况,您可以在创建新间隔之前清除当前间隔。这确保只有所需的时间间隔是实时的。
clearInterval(intervalID);
intervalID = setInterval(function(){
...
}, 100);
于 2012-08-13T16:45:16.200 回答