2

我正在编写一个 Web 应用程序(HTML/CSS/JS 前端,C# 后端),预计用户会在同一页面上停留一段时间(通常超过 10 分钟)。我想定期检查服务器以查看用户的会话是否已过期。使用 setInterval 以 2 到 5 分钟的间隔向服务器发出 AJAX 请求有什么缺点吗?

4

2 回答 2

8

不,没有缺点。但是,计时器并不是最准确的。另请参阅: setInterval 会漂移吗? 这对您来说可能无关紧要,因为对于快速触发的计时器来说这是一个更大的问题。另外,这听起来也不像确切的时间对你来说是个问题。

于 2012-08-13T16:40:40.823 回答
6

这样做没有问题。仅当您不保留间隔 ID 并同时运行多个间隔时(尤其是延迟非常小时),才会出现性能问题。为了防止这种情况,您可以在创建新间隔之前清除当前间隔。这确保只有所需的时间间隔是实时的。

clearInterval(intervalID);
intervalID = setInterval(function(){
   ...
}, 100); 
于 2012-08-13T16:45:16.200 回答