0

有没有办法阻止 .complete 调用触发?done 和 fail 还不够好,因为完整部分存在递归。(我希望它再做一次,即使它失败了)

request.complete(function(){
                myrefresh = setTimeout(function(){updateMenu(ID);}, 5000);
            });

是我的 ajax 调用的完整方法,每 5 秒运行一次。最后,当这个更新完成时,我会收到 request.done 的回复,它会给我一个条件标记。即,我想做这样的事情:

if(flag=0) {  request.complete(function(){
                myrefresh = setTimeout(function(){updateMenu(ID);}, 5000);
            });
} else { clearInterval(myrefresh) }

但在构建一个大

    var request = $.ajax({  
            url: etc

设置。

有任何想法吗?

关于如何设置?我似乎无法让 .done return (text) var 在 .complete 区域中工作。

4

1 回答 1

1

我认为您正在寻找setInterval()clearInterval()。它们是原生 JavaScript 函数,允许您在给定的时间间隔内重复执行一个函数。

var intervalId = setInterval(updateMenu, 5000, ID);
// When you want to stop....
clearInterval(intervalId);
于 2013-02-15T01:08:35.250 回答