首页 > 解决方案 > 如何在 Ember 应用程序中处理来自服务器的 503 响应?

问题描述

如何503在我的应用程序中处理来自服务器的响应ember?作为 UI 开发人员如何调试?UI 开发人员如何处理这些类型的响应。

标签: javascriptember.jsember-dataember-clihttp-status-code-503

解决方案


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

推荐阅读