JQuery AJAX:防止由于设置间隔功能引起的延迟

时间:2016-05-01 04:56:06

标签: javascript jquery ajax

我正在保持现场直播。在我的系统中的用户,因为我使用的是javascript的setInterval()函数,以下是代码:

function fetchdis() {
$.ajax({
    url: "/count/dist",
    dataType: "json"
}).success(function(data){
    $('#val_dis').html(JSON.stringify(data.sum));
});
}
setInterval(function () {fetchdis()}, 3000);

一切正常,除了我第一次加载数据时会得到3秒的延迟(导致空白),我不希望第一次加载数据时间间隔。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

那是因为setInterval每3秒执行一次回调,而你还没有在其他地方调用该函数。

function fetchdis() {
  $.ajax({
      url: "/count/dist",
      dataType: "json"
  }).success(function(data){
      $('#val_dis').html(JSON.stringify(data.sum));
  });
}

fetchdis();
setInterval(function () {
  fetchdis();
}, 3000);

请注意,我在注册间隔之前正在调用fetchdis()