javascript - 我的 setTimeout 不尊重延迟

标签 javascript jquery settimeout

我想使用 setTimeout 每 10 秒重复一次函数。我的职能是:

dateInLive = function() {
    crono = function(){
      setTimeout(function() {
        $('.datePoste').each(function(){
                $(this).load('in_live.php','in_live='+$(this).attr('id'))
            });
        crono();
        }
        ,10000);
    }
    crono();
}

但是,这确实是随机的;有时15秒后重复,有时3秒后,有时6秒后重复。

最佳答案

仅当所有ajax请求完成时才调用crono():

function crono(){
    setTimeout(function() {
        var arr = [];
        $('.datePoste').each(function(){
            var self = this;
                xhr = $.get('in_live.php', {in_live : this.id}, function(data) {
                    $(self).html( $.parseHTML(data) );
                });
            arr.push(xhr);
        });
        $.when.apply($, arr).done(crono);
    }, 10000);
}

关于javascript - 我的 setTimeout 不尊重延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15641417/

相关文章:

javascript - 防止将重复的商品添加到购物篮中

javascript - 如何禁用重复图像的显示?

javascript - JQuery 中每个函数的多个属性

javascript - 将 setTimeout 与 window.open() 一起使用后,将 setTimeout 与 window.close() 一起使用不起作用

Javascript:将类/对象引用设置为 NULL,内存中的子对象/类会发生什么?

javascript - 循环中的多个设置超时

javascript - 尝试在 Mongoose 中填充,但它不起作用(nodejs)

javascript - 每个 .click( function() {..} ) 都有唯一的 var;

javascript - 如何使用 jQuery 和 .on 让两个滚动条同时滚动?

javascript - 如何使用javascript获取基于url的源代码?