【问题标题】:Make cordova.exec synchronous使 cordova.exec 同步
【发布时间】:2014-07-28 11:04:46
【问题描述】:

在使用phonegap(即cordova2.9)的android中,我正在寻找一种方法来使这个调用同步:

for(var i=0;i<5;i++){
cordova.exec(onSuccess, fail, "PluginName", "echo",["arg1","arg2"]); 
}

我注意到 onSuccess 函数在循环的最后被触发,即在 i 等于 5 之后

【问题讨论】:

    标签: android jquery cordova phonegap-plugins


    【解决方案1】:

    Cordova 是异步的。

    如果使用同步调用,UI会在循环执行期间卡住。

    为了实现你想要做的事情,你应该在 onSuccess 和 fail 回调中增加并测试 i 的值。

    也许这样的事情会起作用(没有太多时间来测试它/真正考虑一下):

    var execute=function(val,max){
        if(val<max){
            cordova.exec(function(){
                onSuccess();
                execute(val+1,max);
            }, function(){
                fail();
                execute(val+1,max);
            },
            "PluginName", "echo",["arg1","arg2"]); 
        }
    }
    execute(0,5);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-11
      • 2016-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-25
      相关资源
      最近更新 更多