簡體   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