これは簡単なことではないようですが、複雑なものではないはずですが、2日後に私は知恵の終わりです。なぜこのループが2回実行されるのか分かりません。ここでループが2回実行される理由を特定できません
db = openDatabase("com.xyz.mobile.db", "", "The App Database", 5 * 1024 * 1024);
db.transaction(function(tx) {
tx.executeSql("SELECT * FROM somedata", [], function(tx, result) {
c = (result.rows.length - 1); //result.rows.length = 2 there are only 2 records
console.log("c = " + c); // outputs 1 in console
for(var i = 0; i < result.rows.length; i++) {
console.log("i = " + i);
console.log(result.rows.item(i)['description']);
if(i == c){
console.log("I will run twice just to make you pound on key board");
break;
}
}
}, null);
});
は、私はクロームコンソールで得るものです:
c = 1
i = 0
2/30/2012 22:02:08
i = 1
2/30/2012 22:02:27
I will run twice just to make you pound on key board
c = 1
i = 0
2/30/2012 22:02:08
i = 1
2/30/2012 22:02:27
I will run twice just to make you pound on key board
ヘルプ私オビワンあなたの私の唯一の希望。
このコードはどのように呼び出されますか? – nnnnnn
あなたは本当に "なぜループが2回走るのか"と尋ねることはありません。実際に知りたいのは、*コールバック*が2回実行される理由です。右? –
すべてのループで 'if(i == c)'をチェックしています。パフォーマンスのために、私は 'i
ajax333221