在执行间隔之前执行javascript函数

时间:2017-06-13 19:46:31

标签: javascript php ajax

我目前正在创建一个将用作仪表板的php页面。我有很多功能,但其中一个让我烦恼,即使它并不那么糟糕。

问题是:我有一个javascript函数以5分钟的间隔获取数据,所以当我打开我的页面时,我需要等待5分钟才能看到我的信息。我是愚蠢的,它确实有效或有没有办法在一开始就执行我的功能?这是我的一段代码:

var intervalMeteo = 300000;  // 1000 = 1 second, 3000 = 3 seconds, 900000=15 minutes
function doAjaxMeteo() {
$.ajax({
        url: 'sections/meteo.php',
    success: function (data) {
                        //...
    },
    complete: function (data) {
            // Schedule the next
    setTimeout(doAjaxMeteo, intervalMeteo);
    },
    cache: false
        });
    }
setTimeout(doAjaxMeteo, intervalMeteo);

1 个答案:

答案 0 :(得分:1)

这将启动它

$(function() { 
  doAjaxMeteo(); 
  // do other stuff if needed
});

不要在同一个函数中调用setTimeout,只需让它完全执行

也不要使用setInterval,而是在返回时让完整执行