我想在for循环中运行一个事务。我的代码是: -
for(var i=0;i<len;i++){
// some code
alert('before transaction');
var db = window.openDatabase("Database", "1.0", "Pin Point", 200000);
db.transaction(fetchSubList, errorLists);
alert('after transaction');
}
function fetchSubList(tx) {
tx.executeSql('some QUERY', [], fetchSubListSuccess, errorLists);
}
function fetchSubListSuccess(tx, results) {
alert("fetchSubListSuccess()...");
// some code
}
但问题是在警报之后(事务之前)我直接获得警报(事务之后)并且仅当for循环结束然后事务开始....
我按照this链接解决但仍然无法弄明白....
答案 0 :(得分:1)
不可能这样做......我们需要重构代码,以便代码如下所示: -
db.transaction(function(tx)
{
// some value
var loop_limit = 10
for(var i=0; i<loop_limit;i++ ){ // ITERATE HERE
tx.executeSql(Statement, [],Sucess, error);
}
});