Javascript 余烬承诺数组
我有我的控制器,记录是一个计算属性。在orderBy或page change my app shuold上执行新呼叫。 此控制器工作正常:Javascript 余烬承诺数组,javascript,ember.js,Javascript,Ember.js,我有我的控制器,记录是一个计算属性。在orderBy或page change my app shuold上执行新呼叫。 此控制器工作正常: App.IndexController = Ember.ArrayController.extend({ ... records: function() { return this.store.find("record", { page: this.get("page"), page_size: this.ge
App.IndexController = Ember.ArrayController.extend({
...
records: function() {
return this.store.find("record", {
page: this.get("page"),
page_size: this.get("pageSize"),
order_by: this.get("orderBy")
})
}.property("key", "orderBy", "page"),
})
但是如果我想在请求期间显示沙漏:
App.IndexController = Ember.ArrayController.extend({
...
records: function() {
this.showHourglass();
return this.store.find("record", {
page: this.get("page"),
page_size: this.get("pageSize"),
order_by: this.get("orderBy")
}).then(function(records) {
this.hideHourglass();
return records;
})
}.property("key", "orderBy", "page"),
})
我得到了这个错误:
未捕获错误:断言失败:每个循环所覆盖的值必须是数组。您传递了{{u id:59,{u标签:未定义,{u状态:未定义,{u结果:未定义,}
我怎样才能解决这个问题?
谢谢
编辑:
在我的模板中,属性上有一个循环:
{{#each records}}
...
{{/each}
这是因为This.store.findrecord返回一个ArrayPromise。但是因为您正在链接一个新的。那么返回的值只是一个常规的承诺,它不能被迭代
App.IndexController = Ember.ArrayController.extend({
...
records: function() {
this.showHourglass();
var promiseArray = this.store.find("record", {
page: this.get("page"),
page_size: this.get("pageSize"),
order_by: this.get("orderBy")
})
promiseArray.then(function(records) {
this.hideHourglass();
})
return promiseArray;
}.property("key", "orderBy", "page"),
})