ydn.db - невозможно получить значение () из IndexedDB

используя ydn.db-isw-core-e-qry-dev-raw.js с http://dev.yathit.com/index/downloads.html

когда я сделаю следующее, моя консоль отобразит ожидаемый результат

var db = new ydn.db.Storage('storage');
var id = 1234;
db.put('store-name', {foo: 'bar'}, id);
db.get('store-name', id).done(function(record) {
    console.log("record", record);
});

record Object {foo: "bar"}

однако, если я опускаю put(), моя консоль возвращает undefined

var db = new ydn.db.Storage('storage');
var id = 1234;
db.get('store-name', id).done(function(record) {
    console.log("record", record);
}); 

record undefined

если я использую инструменты разработчика Chrome, я могу увидеть запись в своих ресурсах/индексированной базе данных

почему запись не восстанавливается?


person kabal    schedule 24.10.2013    source источник


Ответы (1)


Похоже, что формат -raw работает только с полным репозиторием и запуском процесса сборки, ant depsпопробуйте использовать сборку для разработки -dev.

Как оказалось, вы используете автосхему. Во время запуска db.get база данных не подключена, поэтому вам нужно дождаться готовности подключения следующим образом:

var db = new ydn.db.Storage('storage');
db.onReady(function() {
    var id = 1234;
    db.get('store-name', id).done(function(record) {
        console.log("record before", record);
    });
    db.put('store-name', {foo: 'bar'}, id);
    db.get('store-name', id).done(function(record) {
        console.log("record after", record);
    });
})
person Kyaw Tun    schedule 25.10.2013