gpt4 book ai didi

rest - 如何解决从 Ember js 中 STORE 的 find() 方法获得的 ember Promise 数组的响应?

转载 作者:行者123 更新时间:2023-12-02 06:04:20 25 4
gpt4 key购买 nike

我有 /products 的模型 Hook 如下 :

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);
}
});

最佳答案

您可以添加一个简单的 .then,其中第一个回调本质上是 onSuccess,第二个回调是 onFail

App.ProductsRoute = Ember.Route.extend({
model: function(controller) {
return this.store.find('product').then(function(response) {
alert('working!'); //(you can return the models here if all is good)
}, function() {
alert('broken!');
});
}
});

关于rest - 如何解决从 Ember js 中 STORE 的 find() 方法获得的 ember Promise 数组的响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22374162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com