for循环中的事务

时间:2012-11-08 10:59:53

标签: javascript html for-loop transactions web-sql

我想在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链接解决但仍然无法弄明白....

1 个答案:

答案 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);
      }

    });