繁体   English   中英

所有cordova.exec函数结束后,将执行成功回调

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM