2015-11-24 2 views
2

Невозможно получить ForerunnerDB для загрузки существующих данных. После обновления браузера вся база данных IndexedDB исчезает из ресурсов Chrome после выполнения новой команды ForeRunnerDB().Имеющаяся база данных ForerunnerDB очищается после новой команды ForerunnerDB()

var fdb = new ForerunnerDB(); 
// Existing database disappears from Chrome resources here 

var db = fdb.db('VRC'); 
db.collection('videos').load(); 
var videoCollection = db.collection('videos'); 

if (!videoCollection.count()) { 

    videoCollection.setData([ 
    { 
     "_id": 1, 
     "name": "Joe" 
    }, 
    { 
     "_id": 2, 
     "name": "Susan" 
    }]); 

    // Yeah, I know this is redundant... 
    videoCollection.save(); 
    db.save(); 
    ForerunnerDB.save(); 
} 

ответ

2

Проблема была решена путем передачи функции в Collection.load():

videoCollection.load(function() { 
    // Do something with data here 
}); 
+1

Жаль, что я только видел этот вопрос ... Похоже, у вас есть на самом ответ в любом случае, но Причина заключается в том, что load() является асинхронным вызовом, поэтому, если вы попытаетесь получить доступ к данным сразу после этого, не дожидаясь обратного вызова из ForerunnerDB, вы можете не видеть данные. Обратный вызов вызывается после завершения метода загрузки. –

Смежные вопросы