重复jQuery JSON请求,直到满足条件

前端之家收集整理的这篇文章主要介绍了重复jQuery JSON请求,直到满足条件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问候,

我试图在jQuery中重复JSON请求,以检查视频编码作业的状态,直到完成.将显示“处理”,直到作业完成,此时将显示视频.

一个循环,检查每x秒钟,看看“状态”是否等于“完成”,这是最好的解决方案?如果是这样,当工作完成时,我如何摆脱这个循环?

作业正在进行时的JSON响应将不过是“处理”,当它完成后,它将包含诸如作业ID,宽度和高度等内容.

任何帮助将不胜感激,谢谢!

UPDATE

以下是Felix的最终解决方案:

var checkStatus = function() {
    $.getJSON('json-data.PHP',function(data) {
    if (data.status != 'finished') {
          setTimeout(checkStatus,2000);
    } else {
//Sample code to run when finished
$("#statusText").text("Job Complete");
           $("#dimensions").text(data.width + 'x' + data.height);
        }
     });
    };
checkStatus();

解决方法

一个循环将不起作用,因为Ajax请求是异步的.

一种方法是进行相同类型的递归调用,并从成功回调(可能在一些超时之后)再次触发Ajax函数,如果条件不满足.

(伪代码):

function check_condition() {
    $.getJSON(<url>,function(result) {
        if(!result.finished) {
            setTimeout(check_condition,2000);
        }
        // do something else
    } 
}
原文链接:https://www.f2er.com/jquery/176592.html

猜你在找的jQuery相关文章