使用长时间间隔的javascript setInerval有什么缺点吗?

mit*_*emo 2 javascript setinterval

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

Bra*_*rad 7

不,没有缺点.但是,计时器并不是最准确的.另请参阅: setInterval会漂移吗? 这对你来说可能并不重要,因为对于快速解雇的计时器来说这是一个更大的问题.另外,它不会发出准确的时间对你来说也是一个问题.


Dio*_*ode 5

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

clearInterval(intervalID);
intervalID = setInterval(function(){
   ...
}, 100); 
Run Code Online (Sandbox Code Playgroud)