Ember-Data处理401

时间:2013-07-31 21:46:58

标签: ember.js ember-data

有关处理401错误的任何想法吗?

在应用程序初始化程序中,我推迟准备并通过ember-data获取当前用户。如果我收到401应用程序死亡并变得无法使用。我想处理这个错误,然后进行推进。我似乎无法找到解决方法。任何信息将不胜感激!

请点击此处:https://gist.github.com/unknpwn/6126462

我注意到有一个similar topic here,但似乎已经过时了。

2 个答案:

答案 0 :(得分:4)

之前的答案已过时。在目前的Ember版本(1 +)中,events已弃用,您应该使用actions 对象(而不是函数)。

Ember示例:

App.ApplicationRoute = Ember.Route.extend({
  actions: {
    error: function(err) {
      // error handler called in case of an error.
      // show the error message to user here
      // or transition to another route
    }
  }
});

Ember CLI示例:

import Ember from 'ember';

export default Ember.Route.extend({
  actions: {
    error: function(err) {
      // error handler called in case of an error.
      // show the error message to user here
      // or transition to another route
    }
  }
});

使用这些操作处理程序,如果您在路线中没有停止错误,错误将很好地映射到主应用程序路径。

答案 1 :(得分:2)

Application.initializer不是放置这个逻辑的正确位置。它是同步的,它的目的是做一些事情,比如向IOC容器添加自定义对象等。这段代码更适合model的{​​{1}}钩子。

ApplicationRoute