Ajax通话和倒数计时器

时间:2014-08-10 21:31:24

标签: javascript jquery ajax countdowntimer

我有一个像下面这样的AJAX调用,我希望有一个倒数计时器(没有什么真正可视,只是一个计数器),它从一个数字减少到零,然后启动AJAX和等待直到AJAX完成然后再次倒计时......永远。

所以它是这样的:

  *    ---------    5 4 3 2 1 0    *    ---------    5 4 3 2 1
  |         |            |         |         |           |
ajax      wait         count      ajax      wait       count 

是否可以使用JavaScript和jQuery执行此操作?我没有找任何插件。

var request = $.ajax({
            url: "/rhino",
            type: "GET",
            dataType: "json"
        });

        request.done(function (data) {
            console.log("success");;
        });

        request.error(function (data) {
            console.log("failed");
        });

1 个答案:

答案 0 :(得分:2)

这样的事应该可以正常工作。启动初始超时,然后在收到响应时设置超时。

var requeue = function() {
  setTimeout(performRequest, 1000);
};

var performRequest = function() {
  var request = $.ajax({
      url: "/rhino",
      type: "GET",
      dataType: "json"
  });

  request.done(function (data) {
      console.log("success", data);
      requeue();
  });

  request.error(function (data) {
      console.log("failed");
      requeue();
  });
};

requeue();

<强> working plunker