[英]Success callback is executing after all cordova.exec functions have ended
我正在构建一个phonegap应用程序,而当前的本机平台是android。 我有个问题。 我有一个内置在Java中的数组列表。 而且我必须将数组与我从javascript调用的服务进行比较。 但是问题是,当我在for循环内调用cordova.exec时,首先执行整个for循环,然后控制权移至所有cordova.exec的callbacksuccess。
我的代码是-
$.ajax({
url : ...,
type: "GET",
data: null,
setTimeout:1,
dataType:"JSON",
success: function(response)
{
var mydata='';
for(var i=0;i<response.length;i++)
{
alert('inside for '+i);
obj=response[i];
var testpackage=obj.PackageName;
cordova.exec(callbacks,callbacke,'MyPlugin','plugin2',[testpackage]);
}
},
error: function()
{
alert('Failed to fetch list.Try again later.');
}
});
function callbacks(e)
{
alert('success');
}
在整个for循环执行之后,将调用我的callbacks()函数。 我收到的输出是-
inside for 0
inside for 1
inside for 2
success
success
success
我的预期输出是-
inside for 0
success
inside for 1
success
inside for 2
success
我已经尝试了很多东西。 我仍然没有找到解决方案。 提前感谢。
cordova.exec调用是异步的。 因此,您应该更改代码,以便在回调本身内部调用连续的cordova.execs或实现类似的东西; 只需等待每个exec调用完成,然后再调用下一个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.