互动+获取功能

时间:2013-08-08 15:58:02

标签: javascript ajax jqmobi appframework

我需要一个函数来更新我的数据库中的一些信息(我正在使用websql)。在我的应用程序中,我显示了一个用于执行更新的加载框,但是,for get在get函数完成并且加载框关闭之前结束。

我需要for的下一次互动才会在get结束时发生。

有人有解决方案吗? :(

我正在使用appframework intel(jqmobi)

for (var i=0; i<len; i++){
    var url = "http://172.25.129.30:8180/prax/rest/ocorrenciaJSONBean/consultarStatusOcorrencia/"+results.rows.item(i).id;
    $.get(url,function(data){
        tx.executeSql('UPDATE ocorrencias SET status="'+data.responseText+'" WHERE id = '+results.rows.item(i).id);
    });
};

我有以下情况:

内部银行,其中包含用户在单元格上打开的呼叫列表。我想要的是升级银行的状态。

今天我对内部银行进行查询,每个我在网络服务上执行get,以了解通话状态。我希望下一次互动只发生在GET最终确定之后。

这里的问题是,一旦功能结束,屏幕刷新,消息“加载”消失。这比预期的要早,因为结束是在所有GET最终确定之前。

1 个答案:

答案 0 :(得分:0)

get不等待执行调用,因此您需要在get函数中执行回调以执行下一个调用。你可以这样做:

var index = -1;
function perform_get(){
    index++;
    var url = "http://172.25.129.30:8180/prax/rest/ocorrenciaJSONBean/consultarStatusOcorrencia/"+results.rows.item(index).id;
    $.get(url,function(data){
        tx.executeSql('UPDATE ocorrencias SET status="'+data.responseText+'" WHERE id = '+results.rows.item(index).id);
    })
    .done(perform_get);
}

现在它正在等待下一次接听电话。

希望这有帮助。