Web SQL Database + Javascript loop

后端 未结 2 1515
滥情空心
滥情空心 2020-12-01 21:44

I\'m trying to figure this out but can\'t seem to on my own...
I\'m playing with Web SQL DBs and I can\'t get a loop to work properly with it.
I use:



        
2条回答
  •  北海茫月
    2020-12-01 22:35

    It looks like the function is asynchronous, and that by the time tx.executeSql fires, the loop have finished looping and i has been changed several times.

    You can solve this with a closure.

    for (var i=0; i<=numberofArticles-1; i++){ 
        function (value) { 
            db.transaction(function (tx) {  
            tx.executeSql('INSERT INTO LOGS (articleID) VALUES (?)',  [value]);
          });
        }(i); // <-- CALL the function
     };
    

提交回复
热议问题