1

我正在尝试使用 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 执行每个循环。谢谢

4

0 回答 0