在加载时执行匿名函数,然后使用setTimeout每30秒再次执行

时间:2015-06-28 21:14:32

标签: javascript jquery settimeout

很抱歉,如果这已经得到解答,我只是在学习Javascript而且似乎无法解决这个问题。

我有下面的匿名函数,它读取一个json文件并更新html。它每30秒成功更新一次,问题是我必须等待30秒才能在页面加载时显示数据。如何修改下面的代码,使其在加载时更新,然后每30秒更新一次?

$(function () {
  setTimeout(function() {
  $.ajaxSetup({ cache: false });  
  $.getJSON("data/ticket_data.json", function(result){
  /*some more stuff here*/
  });
},30000);
});

1 个答案:

答案 0 :(得分:5)

为该函数命名,调用它,并将setTimeout放入$.getJSON的回调中:

$(document).ready(getTicketData);

function getTicketData() {
    $.ajaxSetup({ cache: false });
    $.getJSON("data/ticket_data.json", function (result) {
        /*some more stuff here*/
        setTimeout(getTicketData, 30000);
    });
}

如果您需要停止此超时,请查看clearTimeout()