连续调用javascript函数直到条件

时间:2016-02-22 02:39:31

标签: javascript jquery

我想连续调用javascript函数,直到条件满足为止。我有一个休息服务,给我一个百分比。 我希望我的javascript不断调用此REST服务,直到我得到百分比为100%。当它达到100%时它应该停止。

总体结构如下 1)我有一个表格,其中有一个显示进度的单元格。

 Packets                 percent    
 abc                       10%
 efs                       13%

因此,当这个表加载时,调用将转到javascript中存在的函数,该函数将调用其余服务,并且应该连续调用此函数,直到百分比为100%。

我应该使用递归调用吗?并且功能内部功能可能吗?

2 个答案:

答案 0 :(得分:1)

如果服务器的响应为0100,则可以尝试使用.each().load()$.get()

function progress() {
  el = this;
  $.get("/path/to/rest/call", function(data) {
    el.textContent = data + "%";
    // define conditions for next request
    if (data < 100 /* conditions */) {
      progress.call(el)
    }
  })
}

$("table tr").each(function() {
  progress.call(this)
})

答案 1 :(得分:1)

此函数调用condFunc,当满足条件时,该函数应返回true。当发生这种情况时,会调用readyFunc。 checkInterval以毫秒为单位设置检查率

apply

用法:

       var wait = function(condFunc, readyFunc, checkInterval) {
            var checkFunc = function() {
                if(condFunc()) {
                    readyFunc(); 
                }
                else
                {
                    setTimeout(checkFunc, checkInterval);
                }
            };
            checkFunc();
        };

在当前时间为分钟后10秒时打印“完成”