javascript - 如何在 Ember 应用程序中处理来自服务器的 503 响应?
问题描述
如何503
在我的应用程序中处理来自服务器的响应ember
?作为 UI 开发人员如何调试?UI 开发人员如何处理这些类型的响应。
解决方案
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/
(或者)
您可以在使用解决承诺时直接处理它.then
,
model(params) {
return this.store.findAll('privileged-model').then((response) => {
// handle success
}, (response) => {
// handle error
if (response.status === '403') {
// handle 403 errors
}
})
},
推荐阅读
- javascript - 发送带有标头的 GET 请求时创建了选项请求 - Angular7
- python - Python Tweepy API 函数
- node.js - Do I need to use transaction when reading data after write?
- sql - SQLSTATE [HY000]:一般错误:外键定义中有 1 个未知列“user_id”
- python-3.x - 如何使文本按钮和文本标签在网格中具有相同的高度?
- typescript - 从索引联合类型推断原始类型
- python - AssertionError:管理器项目的数量必须等于块项目的联合
- coq - 从 GADT 检索约束以确保在 Coq 中耗尽模式匹配
- php - 两个日期之间的 Laravel 验证差异
- javascript - 响应式汉堡导航栏在 django base.html 中不起作用