【问题标题】:how to handle ember data error如何处理ember数据错误
【发布时间】:2013-09-24 01:19:40
【问题描述】:

我正在尝试遵循最近 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)也没有被触发。

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    我将如何使用最新版本的 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 (then) 的第二个 (reject) 回调中处理错误。

    【讨论】:

    • 您好,您不会在此处返回 this.store.find。您的模型将如何分配给响应?
    • @user2745266 我可能只是忘记了return,因为我已经习惯了 CoffeeScript,但你可能会在成功回调中分配一些东西,而对于这个控制器的模型什么都不返回(就像在问题)。
    • @gerry3- 当然。谢谢。 :)
    猜你喜欢
    • 2013-07-11
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多