Ember.js Rhom的Ember数据自定义适配器-FindAll不工作

Ember.js Rhom的Ember数据自定义适配器-FindAll不工作,ember.js,rhomobile,rhodes,Ember.js,Rhomobile,Rhodes,我正在为的编写一个Ember数据适配器。我已经写了代码。我正在一个简单的Todo应用程序中使用它。当我创建一个新项时,它会进入SQLite数据库。但是,当我启动应用程序时,商店中不会加载已经存在的应用程序 我在适配器的findAll中编写了一个console.log,我可以看到它从rhomapi获取了一个对象数组,并返回了一个包含这些结果的承诺。但是为什么不把它装进商店呢 我以localstorage适配器为例,这样做了。这是我的findAll: extractVars: function(r

我正在为的编写一个Ember数据适配器。我已经写了代码。我正在一个简单的Todo应用程序中使用它。当我创建一个新项时,它会进入SQLite数据库。但是,当我启动应用程序时,商店中不会加载已经存在的应用程序

我在适配器的
findAll
中编写了一个
console.log
,我可以看到它从rhomapi获取了一个对象数组,并返回了一个包含这些结果的承诺。但是为什么不把它装进商店呢

我以localstorage适配器为例,这样做了。这是我的findAll:

 extractVars: function(rhomRecord) {
    return rhomRecord.vars();
},

sourceIdToId: function(record) {
    record["id"] = record.source_id;
    return record;
},

findAll: function(store, type) {
        var records = Rho.ORM.getModel(this.model).find('all');
        var results = records.map(this.extractVars);
        var results = results.map(this.sourceIdToId);
        console.log(results);
        return Ember.RSVP.resolve(results);
    },
如您所见,console.log打印出以下内容,它只是一个包含我所需内容的对象数组。当我尝试使用locastorate时,它也返回了相同类型的对象

我该怎么办


PS:extractVars和sourceIdtoId是从Rhom返回的记录中正确提取对象的辅助工具。

我不确定这是否对您有帮助,但我想这只是因为
.find()
返回一个承诺,您应该使用
然后()
回调来解析您的模型:

findAll: function(store, type) {
  return Rho.ORM.getModel(this.model).find('all').then(function(records) {
    var results = records.map(this.extractVars);
    var results = results.map(this.sourceIdToId);
    console.log(results);
    return Ember.RSVP.resolve(results);
  });
}

希望能有帮助。

嗨,我不认为Rho ORM会兑现承诺。它只返回一个普通数组。(来源)。无论如何,我会试试。我需要写一个自定义的序列化程序还是什么??我真的迷路了。