我创建了一个html5本地数据库,我希望在查询上循环,并在查询回调中使用外部变量。
下面的例子不是我想做的,而是解释了我的问题:
代码:
db.transaction(function (tx)
{
for (var i = 1; i < 4; i++)
{
tx.executeSql('SELECT title FROM podcast WHERE given_id = ' + i, undefined, function (tx, result)
{
console.log(result.rows.item(0).title);
console.log(i);
});
}
});日志:
episode1
4
episode2
4
episode3
4结果是完美的,但是我不能在回调中使用"i“,这个值总是循环结束时的值。如何在回调中使用外部变量?谢谢
发布于 2012-07-24 07:57:47
试试这个:
db.transaction(function (tx) {
for (var i = 1; i < 4; i++) {
tx.executeSql('SELECT title,given_id FROM podcast WHERE given_id = ' + i, undefined, function (tx, result) {
console.log(result.rows.item(0).title);
console.log(result.rows.item(0).given_id);
});
}
});https://stackoverflow.com/questions/11626257
复制相似问题