我想加载一个完整的集合,然后剥离记录,一次一个地用作模型,而不是每次都进行到服务器的往返.
我已经想出如何使用Ember.Deferred返回一个承诺,但我无法在合适的时间得到解决的承诺.以下代码只输出"找到0"时间:
App.PersonRoute = Ember.Route.extend({
model: function(params) {
var name = "Erik";
var promise = Ember.Deferred.create();
App.people = App.Person.find();
App.people.then(function() {
console.log('Found ' + App.people.get('length'));
var person = App.people.findProperty('name', name)
promise.resolve(person);
});
return promise;
}
});
Run Code Online (Sandbox Code Playgroud)
如果我将then()的主体包装在一个setTimeout中,并让它等待几秒钟,那么一切都很好.
我可以以某种方式绑定到另一个事件吗?我尝试了App.people.on('isLoaded'),但isLoaded始终是真的.
谢谢!