【发布时间】:2014-04-21 14:35:59
【问题描述】:
我正在尝试迭代一个动态数组作为选择查询的输入。选择查询并未针对所有数组元素触发。我在 for 循环中编写了选择查询,问题是循环首先触发,选择查询仅对数组的最后一个元素执行。可能是由于异步功能。我该如何解决这个问题,我的代码如下,
function sendCategoryDetailsNew(myLocation)
{
var myLocationcoordinates = new Array();
var db = window.sqlitePlugin.openDatabase({name: "MYDB"});
for (var i = 0; i < myLocation.length; i++)
{
var locationName = myLocation[i];
alert(locationName);
db.transaction(function (tx) {
tx.executeSql("select Coordinates from Locationlog WHERE Location = '"+locationName+"';", [], function (tx, res)
{
for (var i = 0; i < res.rows.length; i++)
{
alert("Location : "+locationName+ " Latlongs :"+ res.rows.item(i).Coordinates);
myLocationcoordinates[i] = res.rows.item(i).Coordinates;
}
});
});
}
}
任何建议,
【问题讨论】:
标签: javascript arrays sqlite cordova asynchronous