我无法设置clientsData内的项目活动。 这是我的方案
当控件到达executeSql的回调函数内部时,i和j的值是最大可能值,因为executeSql()是异步函数。 所以当我尝试执行以下行
时clientData[i].projects[j].activities = result.rows;
它给我错误说“无法读取未定义的属性'项目'
代码段
for (var i = 0; i < clientData.length; i++) {
for (var j = 0; j < clientData[i].projects.length; j++) {
var getActivities = "SELECT * FROM Activity \n\
WHERE activityID \n\
in \n\
(" + clientData[i].projects[j].activityIds + ")";
tx.executeSql(getActivities, [], function (tx, result) {
clientData[i].projects[j].activities = result.rows;
updateClientData(clientData);
});
}
}