如何在我的503
应用程序中处理来自服务器的ember
响应?如何以UI开发人员身份进行调试? UI Developer如何处理此类响应。
答案 0 :(得分:0)
ember提供默认的error handlers
,当找到适当的错误子状态时将触发它。
例如:如果路由的model
钩子返回error
负载(服务器的错误响应),则可以处理错误事件并将其用于显示错误消息,然后重定向到页面等
import Route from '@ember/routing/route';
export default Route.extend({
model(params) {
return this.store.findAll('privileged-model');
},
actions: {
error(error, transition) {
if (error.status === '403') {
this.replaceWith('login');
} else {
// Let the route above this handle the error.
return true;
}
}
}
});
参考-https://guides.emberjs.com/release/routing/loading-and-error-substates/
(OR)
使用.then
解决承诺后,您可以直接处理
model(params) {
return this.store.findAll('privileged-model').then((response) => {
// handle success
}, (response) => {
// handle error
if (response.status === '403') {
// handle 403 errors
}
})
},
答案 1 :(得分:0)
ember提供其内部错误处理程序。因此,无论您的api向您发回了什么错误,embr总是会产生相同的错误消息。 “无效的适配器”。如果要显示api响应中的原始消息,则需要对响应进行字符串化。例如JSON.stringify(response.errors)
。