【问题标题】:Ember data - how to handle when the API doesn't return a recordEmber 数据 - 当 API 不返回记录时如何处理
【发布时间】:2013-12-05 09:24:23
【问题描述】:

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

这是一条路线:

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?

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    在一个关于 Promise 的问题中找到了答案 here

    store.find 返回一个承诺,因此我需要搜索而不是尝试搜索如何处理 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}));
    });
    

    【讨论】:

      猜你喜欢
      • 2017-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-06
      • 1970-01-01
      相关资源
      最近更新 更多