最新的ember-data store.filter返回什么类型的对象?

时间:2014-03-05 04:17:36

标签: ember.js ember-data

过去如果我使用过滤器功能,它会返回一个Ember.A([])w / my objects

var day = this.store.filter('day', function(model){
    return model.get('day_of_week') === 1;
});

所以我可以做这样的事情......

var interval = day.objectAt(0).get('interval');

但是对于最新的大师(截至今天),这并没有像我期望的那样返回一个对象。 api是否改变或以某种方式改变了返回的类型?

1 个答案:

答案 0 :(得分:0)

store.filter应该返回一个promise数组:http://emberjs.com/api/data/classes/DS.Store.html#method_filter

您可能在查询解析之前尝试访问对象。您可以将代码重构为:

this.store.filter('day', function(model){
  return model.get('day_of_week') === 1;
}).then(function(days){ //Wait for the promise to resolve
  var interval = days.objectAt(0).get('interval');
  //do some more stuff now that you have your filtered day
});