每10毫秒重复执行ajax会减慢其他ajax调用在同一页面中的加载

时间:2019-05-25 17:03:31

标签: javascript jquery ajax

  

每10毫秒重复执行ajax会减慢其他ajax调用的加载速度   同一页

我有两个Ajax代码,一个下面的代码(在10毫秒后重复),另一个我认为没有必要在这里(根据用户输入完成)

var checkState = function() {
  var url = "http://domain.in/quiz/quiz_inplay_time_difference.php?record=30";
  $.ajax({
    url: url
  }).done(function(data) {
    var time_left_display = $('#time_left_display');
    //initialize the time
    var time_left = String(data.time_left);
    var hyphen = '';
    if (time_left.indexOf("-") !== -1) {
      hyphen = '-';
    }
    if (time_left <= -1) {
      window.location.replace("http://domain.in/quiz/quiz_result.php?record=30");
    }

    if (time_left <= 60) {
      $('#time_bar').removeClass("alert-info");
      $('#time_bar').addClass("alert-warning");
    }
    if (time_left <= 10) {
      $('#time_bar').removeClass("alert-warning");
      $('#time_bar').addClass("alert-danger");
    }

    time_left = time_left.replace('-', '');
    var minutes = Math.floor(time_left / 60);
    var seconds = time_left % 60;
    //update the time
    time_left_display.html(hyphen + minutes.toString() + ':' + seconds.toString());

  });

}

checkState();
setInterval(checkState, 10);

当我在本地服务器(wampserver)上加载页面时,上面的代码和其他ajax调用可以快速运行,并按预期提供结果。但是当我在服务器(domain.in)上加载另一个ajax(根据用户的输入称为)时,同一页面的运行速度非常慢。

因此,要检查问题所在,我从代码中删除了setInterval(checkState, 10);并在服务器(domain.in)上运行,另一个ajax(根据用户的输入称为该ajax)按预期运行得很快。

我的问题:

  

我上面的代码正确吗?可以更容易,更快捷地运行吗?任何   还有其他选择吗?

0 个答案:

没有答案