我有一个像下面这样的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");
});
答案 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 强>