如何在使用RESTAdapters的ember-data时处理emberJs中的HTTP错误?

时间:2014-03-12 10:52:24

标签: rest ember.js error-handling ember-data

我有一条路线/products。在App.ProductsRoute中,我使用setupController挂钩将从服务器获取的产品列表分配给本地App.Product对象。

我将setupController挂钩中的模型设置为:

self_controller.set('model', self_controller.store.find('product'));

当HTTP状态为200时,这很有效。但是当服务器返回一些HTTP错误(如500-Internal Server Error,401-Unauthorized Errors等)时,我收到JSON.parse错误。我不确定如何处理this.store.find()次呼叫的错误。

注意:它返回Ember的promiseArray,我需要在解决后检查(在实际将其分配给模型之前)。对此主题的任何帮助将不胜感激。感谢。

1 个答案:

答案 0 :(得分:2)

使用promise的catch回调来处理错误怎么样?未经测试,但这样的事情应该有效:

self_controller.store.find('product').then(function(products) {
  self_controller.set('model', products);
}).catch(function(reason) {
  // Do something to handle the error response...
});