在使用 phonegap 的 android 中,即 cordova2.9,我正在寻找一种使此调用同步的方法:
for(var i=0;i<5;i++){
cordova.exec(onSuccess, fail, "PluginName", "echo",["arg1","arg2"]);
}
我注意到函数 onSuccess 在循环的最后被触发,即在 i 等于 5 之后
最佳答案
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);
关于android - 使 cordova.exec 同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24993888/