jQuery .always()函数中的setTimeout多次触发

时间:2014-01-19 18:45:57

标签: javascript jquery

我在firefox中测试了这个问题。我有以下jquery代码:

function getSomething() {
    $.post(someUrl, {
        data: 'something'
    }, function (data) {
        // results in some data
    }, "json").always(function() {
        var timeR = 10 * 1000; // 10 seconds
        var pingForSomething = setTimeout(function() {
            getSomething();
        }, timeR);
    });
}

这很好用。它发布到网址。无论帖子是否成功,通过.always(),它会在10秒后再次运行该功能。但是,我发现从长远来看(几分钟)这个函数被多次触发(多次,因为函数在10秒内多次运行,函数的多个实例同时开始运行,导致不希望的频繁发布)。知道为什么吗?

0 个答案:

没有答案