Javascript 如何在对余烬数据模型进行常规查找后劫持承诺解析?

Javascript 如何在对余烬数据模型进行常规查找后劫持承诺解析?,javascript,ember.js,ember-data,promise,Javascript,Ember.js,Ember Data,Promise,我需要手动检查从基本查找返回的ember数据模型(此模型未绑定到模板,相反,我需要动态应用一些逻辑) 到目前为止,我已经尝试了以下方法(没有运气) success块确实会触发,但它似乎总是返回0个结果,但是当我在chrome中查看network选项卡时,它显示了一个有效的json负载,它在我使用的promise钩子之外工作 是否有可能利用ember data rev 11劫持promise解析?App.Foo.find()返回模型列表,即DS.AdapterPopulatedRecordArra

我需要手动检查从基本查找返回的ember数据模型(此模型未绑定到模板,相反,我需要动态应用一些逻辑)

到目前为止,我已经尝试了以下方法(没有运气)

success块确实会触发,但它似乎总是返回0个结果,但是当我在chrome中查看network选项卡时,它显示了一个有效的json负载,它在我使用的promise钩子之外工作

是否有可能利用ember data rev 11劫持promise解析?

App.Foo.find()返回模型列表,即
DS.AdapterPopulatedRecordArray
,它不是数组,因此没有长度属性。但它有一个内容属性,即模型数组。 因此,在您的示例中,应该使用
console.log(model.content.length)使其工作:

请注意,您不能在
DS.AdapterPopulatedRecordArray
上使用
[]
运算符,因为它不是数组。看见您应该改用
objectAt
result.objectAt(0)
App.Model.find().then(函数(notes){console.log(notes.content.length)}
为我返回5,这是我的应用程序的正确返回值


我认为您的语法是正确的,尽管您可能对服务器返回的数据有问题?也许出于某种原因,它并没有序列化到实际记录中。可能值得仔细检查。

由于某些奇怪的原因,它总是返回0(即使我看到有效的json负载通过连接时)
array.get('length')
将提供您使用的ember和ember数据的纵向版本?master针对ember的最新版本和rev11针对data的最新版本
App.Foo.find().then(function(model) {
  console.log("here with the ember-data payload");
  console.log(model.get('length'));
}, function(error) {
  console.log("broken");
});
App.Foo.find().then(function(result) {
  console.log("here with the ember-data payload");
  console.log(result.content.length);
  console.log(result.objectAt(0));
}, function(error) {
  console.log("broken");
});