我有一個模型鉤/products
如下:如何解決在Ember js中從STORE的find()方法獲得的ember promise數組的響應?
App.ProductsRoute = Ember.Route.extend({
model: function(controller) {
return this.find.store('product');
}
});
這種運作良好,並獲取由RESTAdapter支持JSON約定的產品的清單,我可以使用顯示products
模板列表{{} #each幫手。
但是,當我得到一些HTTP錯誤(比如說500內部服務器錯誤),應用程序中斷JSON.parse中的錯誤。我無法弄清楚如何在這裏使用onSuccess和onFail回調來正確解析promise(並有效地處理錯誤)。對此主題的任何幫助非常感謝。
我試過以下,但它不工作。即使服務器關閉,流量也不會達到onFail
方法。
App.ProductsRoute = Ember.Route.extend({
model: function(controller) {
var onSuccess = function(products) {
return products;
};
var onFail = function(reason) {
alert('Error occured !');
return [];
};
return this.find.store('product').then(onSuccess, onFail);
}
});
非常感謝您的回覆@ToranBillups。你能否看看最新的問題,看看我是否錯過了一些重要的東西?謝謝。 – Sangram
我從一個正在運行的應用程序中複製了這個,我驗證了這個錯誤。我使用最新的ember-data master和ember.js 1.4(stable)。你準確的設置是什麼?你看到xhr在chrome開發工具中失敗了,以證明它「應該」失敗(放入第二個函數)? –
謝謝你的回覆。我完全按照你所說的做了,現在我能夠進入第一個回調。但是當它失敗時,它永遠不會去第二個,但給我一個錯誤。可能是我需要解析我的迴應成功回調本身。讓我再次檢查一次,然後回到你身邊。讓我知道你是否可以幫我解決這個問題。謝謝。 – Sangram