Как обработать ответ 503 с сервера в Ember Application? - PullRequest
0 голосов
/ 23 марта 2019

Как обработать 503 ответ от сервера в моем ember приложении?Как отладить как UI Developer?Как UI Developer может обрабатывать такие ответы.

Ответы [ 2 ]

0 голосов
/ 30 марта 2019

ember предоставляет свой внутренний обработчик ошибок. Таким образом, не имеет значения, какую ошибку ваш API посылает вам обратно, ember всегда будет выдавать одно и то же сообщение об ошибке. «Неверный адаптер». Если вы хотите показать исходные сообщения из вашего ответа API, вы должны указать свой ответ. например, JSON.stringify(response.errors).

0 голосов
/ 23 марта 2019

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