Ember数据 - API何时不返回记录的处理方式

时间:2013-12-05 09:24:23

标签: ember.js ember-data

我正在尝试检索单个记录 - 用户的“注释”。

这是在路线:

this.store.find('note', {user_id: App.user.id}).then(function (note) {
    window.console.log(note, arguments);
    App.set('note', note.content[0]);
});

当记录已存在时,它可以正常工作但我想创建一个新记录,以便以后在API不返回任何内容时保存。

我已在指南中阅读此页面,但没有关于故障处理的内容:http://emberjs.com/guides/models/finding-records/

REST API在找不到记录时需要返回什么?

如何正确且具体地处理此结果,以便当store.find不返回模型时我可以调用store.createRecord?

1 个答案:

答案 0 :(得分:0)

在有关承诺的问题中找到答案here

store.find返回一个promise,这就是我需要搜索的内容,而不是试图搜索如何处理find()失败。

结果代码如下:

store.find('note', {user_id: App.user.id}).then(function (note) {
    App.set('note', note.content[0]);
}, function () {
    App.set('note', store.createRecord('note', {user_id: App.user.id, user: App.user}));
});