0

使用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 的开发者工具,我可以在我的 Resources/IndexedDB 中看到记录

为什么不检索记录?

4

1 回答 1

1

似乎-raw格式仅适用于完整的 repo 并运行构建过程,ant deps请尝试使用 development build -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);
    });
})
于 2013-10-25T01:11:29.993 回答