如何处理余烬数据错误

时间:2013-09-24 01:19:40

标签: ember.js ember-data

我正在尝试按照此处的指南进行操作,该指南仅在过去3个月内有效 - https://gist.github.com/machty/5723945

所以我的代码是这样的:

App.UsersRoute = Em.Route.extend
    beforeModel: (transition) ->
        alert('before')

    model: ->      
      App.User.find({}).then (response) ->     
        # my code here parses response and sets it 
        self.controllerFor('users').set('content', response.users)   

      # for some reason i need to at least return an array
      []

    events:
      error: (error, transition) ->   
        alert(error.message)

但是事件下的错误回调永远不会被触发。我强制服务器返回500服务器错误。

也没有触发beforeModel(或afterModel)。

1 个答案:

答案 0 :(得分:3)

如何使用Ember和EmberData的最新版本执行此操作的示例:

App = Ember.Application.create({});

App.User = DS.Model;

App.IndexRoute = Ember.Route.extend({
  beforeModel: function(){
    alert('before');
  },

  model: function() {
    this.store.find('user', {}).then(function() {
      alert('response');
    }, function() {
      alert('error');
    });
  }
});

Live Demo

可以在promise(reject)的第二个(then)回调中处理错误。