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

Javascript 如何在x秒后停止重新加载间隔?,javascript,jquery,datatable,Javascript,Jquery,Datatable,我正在使用datatable,有一个选项可以使用setInterval来刷新表内容 问题是,当用户停留在该页面上,并且该页面每秒对同一数据集进行一致的重新加载时,网络流量会增加 我想在10秒后停止,因为我认为这是用户在转到其他地方之前停留在该页面上的平均时间 不确定如何包括10秒超时,以下是我目前的代码: setInterval(function() { $('#Table1').DataTable().ajax.reload(null, false); }, 1000)

我正在使用datatable,有一个选项可以使用
setInterval
来刷新表内容

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

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

不确定如何包括10秒超时,以下是我目前的代码:

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

第一个
var foo=setInterval(…


然后在3秒钟后停止它
setTimeout(function(){clearInterval(foo);},3000);
First
var foo=setInterval(…


然后在3秒钟后停止设置超时(function(){clearInterval(foo);},3000);只需在10秒钟后取消设置间隔(使用
setTimeout
)。您可以使用
clearInterval
清除间隔计时器

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

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

JavaScript的异步特性使
setInterval
setTimeout
都能在适当的时间运行,而不会互相阻塞。

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

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

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

setTimeout(function() { clearInterval(interval); }, 10000);
JavaScript的异步特性使
setInterval
setTimeout
能够在适当的时间运行,而不会一个阻塞另一个

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

setTimeout(function() { clearInterval(interval); }, 10000);
示例代码段:

var interval=setInterval(函数(){
控制台日志(“间隔触发”);
}, 1000);
setTimeout(函数(){clearInterval(interval);},10000);
示例代码段:

var interval=setInterval(函数(){
控制台日志(“间隔触发”);
}, 1000);
setTimeout(函数(){clearInterval(interval);},10000);
我建议您在Ajax调用的响应回调中使用setTimeout函数,并在每次执行setTimeout时使用计数为10的count变量,在计数达到10时使用clearInterval。如果您的请求处理时间较长,这将更有效


我建议您在Ajax调用的响应回调中使用setTimeout函数,并在每次执行setTimeout时使用计数为10的count变量,在计数达到10时使用clearInterval。如果您的请求需要更长的处理时间,这将更有效。

虽然此代码片段可以解决问题,但确实很有用ps以提高您文章的质量。请记住,您是在为将来的读者回答问题,这些人可能不知道您的代码建议的原因。还请尝试不要用解释性注释挤满您的代码,这会降低代码和解释的可读性!而此代码片段可能会解决此问题这个问题确实有助于提高你文章的质量。请记住,你是在为将来的读者回答这个问题,那些人可能不知道你的代码建议的原因。还请尽量不要用解释性的注释挤满你的代码,这会降低代码和解释的可读性!谢谢,t是他的,谢谢,就是这个。