Dexie.js不遵循代码执行顺序

时间:2015-04-03 01:12:13

标签: javascript jquery

我正在使用这个库来更轻松地执行IndexedDB函数,但它并没有遵循所有的执行顺序,这使我的工作不是脚本(这段代码只是一个例子,表明他没有遵循执行的顺序)

示例:http://jsfiddle.net/ph5ebrw4/(请参阅控制台)

Dexie代码:https://raw.githubusercontent.com/dfahlander/Dexie.js/master/dist/latest/Dexie.js

var db = new Dexie('teste');
var atual_sequence = 0;

db.version(1).stores({sequences: '++id,of'});

db.open().catch(function(error){
}); 

db.sequences.where("of").equalsIgnoreCase('0').count(function (count) {
                 atual_sequence = count;
                 console.warn(atual_sequence);

});
db.sequences.add({of: '0'});

在你获得atual_sequence之前他运行console.log('ds: '+atual_sequence);,有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您尝试在问题中使用的语言不是很清楚。他是谁? console.log('ds: '+atual_sequence);从哪里开始运行?

无论如何,我希望此代码段有助于解决您的问题。请注意使用then,这有助于在第一次操作完成后运行代码。

db.sequences.where("of").equalsIgnoreCase('0').count(function (count) {
    atual_sequence = count;
    console.warn(atual_sequence);
}).then( function() {
    db.sequences.add({of: '0'});
});