我正在尝试使用 for 循环为使用 persistenceJS 的数据库值之一填充数据库(http://persistencejs.org)
我遇到的问题是,当我执行 alert(i) 然后执行 persistenceJS 调用时,两个警报都会在运行 persistenceJS 之前显示。
下面的代码解释得更好
for(var i = 0; i < 2; i++) {
alert(i); //0 and 1 are alerted then the below runs
Answer.all().count(function(co) {
alert('current count is:' + co); //alerts 0
});
}
上面是一些显示问题的测试代码,下面是我将实际使用的代码。
Answer = persistence.define('Answer', {
level: "INT",
image: "INT",
correct: "INT",
hints: "INT"
});
persistence.store.websql.config(persistence,'FootballQuiz', 'Storage of answer status', 5 * 1024 * 1024);
persistence.schemaSync();
for(var i = 0; i < 2; i++)
//checks to see if the current value exists in the db
Answer.all().filter('level', '=', 1)
.and(new persistence.PropertyFilter('image', '=', i))
.count(function(c){
if(c > 0) {
alert('already exists');
} else {
var tmpAnswer = new Answer();
tmpAnswer.level = "1";
tmpAnswer.image = i;
tmpAnswer.correct = "0";
persistence.add(tmpAnswer);
persistence.flush();
}
});
}
我希望persistenceJS 执行每个循环。谢谢