我有一个计算属性,如果不存在,我试图在其中创建一个记录,但是jQuery.Deferred exception
在尝试呈现计算属性时不断得到一个。
这是我到目前为止所拥有的:
deadlineDay: computed(function() {
const oneWeekFromNow = moment().startOf('day').add(1, 'week');
const store = this.get('store');
return store.queryRecord('deadline-day', {
filter: {
date: oneWeekFromNow
}
}).then(result => {
if (!result) {
result = store.createRecord('deadline-day', {
date: oneWeekFromNow
});
result.save();
}
return result;
});
}),
然后在我的模板中,我尝试使用一个简单的助手进行渲染:
{{display-date deadlineDay.date}}
助手{{display-date}}
只是调用return date.format('dddd, MMM Do')
看起来 Ember 正在尝试自己呈现承诺,而不是等待它解决。
这会导致错误,因为.format
它不是 promise 的方法。
我想这是一个非常常见的用例,但我在理解上有失误。非常感谢您的帮助!
我不确定它是否相关,但我的后备存储是 sessionStorage via ember-local-storage