如何在 Ember 应用程序中处理来自服务器的 503 响应?
Posted
技术标签:
【中文标题】如何在 Ember 应用程序中处理来自服务器的 503 响应?【英文标题】:How to Handle 503 Response from Server in Ember Application? 【发布时间】:2019-08-14 08:02:51 【问题描述】:如何在我的ember
应用程序中处理来自服务器的503
响应?作为 UI 开发人员如何调试? UI 开发人员如何处理这些类型的响应。
【问题讨论】:
如果您认为答案有用,请验证并投票。谢谢 【参考方案1】: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/
(或)
当promise被解析时,可以直接使用.then
处理,
model(params)
return this.store.findAll('privileged-model').then((response) =>
// handle success
, (response) =>
// handle error
if (response.status === '403')
// handle 403 errors
)
,
【讨论】:
【参考方案2】:ember 提供其内部错误处理程序。因此,无论您的 api 向您发送什么错误,ember 总是会产生相同的错误消息。 “无效的适配器”。如果您想显示来自您的 api 响应的原始消息,您需要对您的响应进行字符串化。例如JSON.stringify(response.errors)
.
【讨论】:
以上是关于如何在 Ember 应用程序中处理来自服务器的 503 响应?的主要内容,如果未能解决你的问题,请参考以下文章