2015-04-03 159 views
0

我正在使用此庫更容易地執行函數IndexedDB,但它並不遵循所有執行順序,這使得我的工作不是腳本(此代碼僅是一個示例表明他沒有按照順序執行)Dexie.js不遵循代碼執行順序

實例: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'}); 

他跑console.log('ds: '+atual_sequence);你得到atual_sequence之前,是有沒有辦法解決這個問題?

回答

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'}); 
});