1

我正在尝试遵循过去 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)

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

beforeModel(或 afterModel)也不会被触发。

4

1 回答 1

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');
    });
  }
});

现场演示

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

于 2013-09-26T07:21:56.153 回答