javascript - 如何在x秒后停止重新加载间隔?

标签 javascript jquery datatable

我正在使用数据表,并且可以选择使用setInterval来刷新表内容。

问题是,当用户停留在该页面上并且该页面每秒对同一数据集进行一致的重新加载时,网络流量就会增加。

我想在 10 秒后停止,因为我认为这是用户在前往其他地方之前在该页面停留的平均时间。

不确定如何包含 10 秒超时,下面是迄今为止我的代码:

setInterval(function() {
        $('#Table1').DataTable().ajax.reload(null, false);
    }, 1000);

最佳答案

只需在 10 秒后取消 setInterval(使用 setTimeout)即可。您可以使用 clearInterval 清除间隔计时器。

var refreshInterval = setInterval(function() {
   $('#Table1').DataTable().ajax.reload(null, false);
}, 1000);

setTimeout(function() {
    clearInterval(refreshInterval);
}, 1000 * 10);

JavaScript 的异步特性使 setIntervalsetTimeout 能够在适当的时间运行,并且不会阻塞另一个。

关于javascript - 如何在x秒后停止重新加载间隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44786893/

相关文章:

javascript - 使用chart.js 实现多个动态折线图 | js和html

javascript - 按元素 ID 分配工具提示

javascript - 在 JavaScript/JQuery 中将 HTML 元素转换为字符串

php - 无法使用 PHP 进行 AJAX post 工作

java - 在屏幕上刷新数据表中的数据(jsp)

java - 在HTML中创建动态数据表的好工具或方法是什么?

javascript - 如何将类添加到 Medium Editor 中的当前事件段落?

javascript - JSON 适用于一个地址,但不适用于另一个地址

javascript - 隐藏数据表中的记录

javascript - 使用 Javascript 清空 CRM 2013 中电子邮件实体中的发件人字段