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