我有一条路线/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,我需要在解决后检查(在实际将其分配给模型之前)。对此主题的任何帮助将不胜感激。感谢。
答案 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...
});