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

Are there any disadvantages to using javascript setInerval with a long interval?

本文关键字:setInerval javascript 什么 缺点      更新时间:2023-09-26

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

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

这样做

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

clearInterval(intervalID);
intervalID = setInterval(function(){
   ...
}, 100);