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