Backbone收集不同的结果策略

时间:2015-10-15 13:53:28

标签: backbone.js backbone-collections

假设我有从服务器2数据集返回的方法:

成功:

{"status":true,"data":[{"id":1, "name": "yolo"}, {"id":2, "name": "yolo2"}]}

失败:

{"status":false,"data":["Some error"]}

我使用以下集合:

var Entities.Collection = Backbone.Collection.extend({
    url: "/entity",
    model: Entities.Model,
    parse: function(json) {

        // return different data ?
        // trigger something ?
        return json.data;
    }
});

问题是当我获取失败结果后,它将设置带有错误详细信息的集合。

处理此类问题的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

我会说只有在你有成功的情况下填充集合,看起来像这样:

var Entities.Collection = Backbone.Collection.extend({
  url: "/entity",
  model: Entities.Model,
  parse: function(response) {
    if(response.status)
       return response.data;
    else {} // handle this if you want to do something like triggering an event or
            // setting a flag, else leave it
  }
});