包含数据和处理404

时间:2015-06-12 19:39:10

标签: ember.js ember-data ember-cli

前几年对这个话题一直存在疑问,但Ember从那时起经历了很多变化,大部分答案都填写了,直到事情变得更加紧密。我正在使用一个使用ember-cli的应用程序。在api上,如果你从api请求一个不存在的资源,api会返回404.但是,ember数据似乎只是在收到404时抛出错误。

我看到一种看似有希望的方法,有人在2014年回答了类似的问题,并且有这个代码示例:

return this.store.find('matter', params.matter_id).then(
        (function (_this) {
            return function(model){
                resolve(model);
            }
        })(this),
        (function (_this) {
            return function(invalid){
                _this.transitionTo('auth.denied');
            }
        })(this));

ember promises可以采取决心并拒绝作为参数。在上面的代码中,他将自我实例化函数作为resolve和reject参数传递。拒绝正如我所希望的那样工作。然而,现在我遇到的问题是,当我处于决心时,即使这个模型'变量带回一个ember数据对象,我似乎无法正确解决这个问题。 Ember会抛出错误并指出错误,"在调用data时遇到push的对象,但是未定义"。

我希望Ember社区中有人能够对如何正确解决这个问题有所了解,或者可能是更好地解决这个问题的方法。

1 个答案:

答案 0 :(得分:0)

this.store.find会返回promises

尝试做类似

的事情
this.store.find(...).then(function(model) {
  console.log(model);
  resolve(model)
}, function(reason) {
  alert('error');
});

模型json,如果不是它可能是问题吗?