Я использую vue-resource
для получения данных с сервера. Пользователю необходимо иметь токен JWT, чтобы получить правильные данные. Если токен недействителен или просрочен, возвращается статус 401. Если пользователь пытается получить доступ к запрещенной странице, возвращается ошибка 403.
Я хотел бы поймать эти ошибки и обработать их соответствующим образом (глобально). Это означает, что вызовы должны полностью обрабатываться перехватчиком (если 401, 403).
Как я могу предотвратить сообщение браузера «Uncaught (in promise)» и создать некоторую глобальную обработку ошибок? Я не хочу иметь локальный обработчик ошибок при каждом вызове.
У меня есть следующий перехватчик:
Vue.http.interceptors.push(function (request, next) {
request.headers.set('Authorization', Auth.getAuthHeader());
next(function (response) {
if (response.status === 401 || response.status === 403) {
console.log('You are not logged in or do not have the rights to access this site.');
}
});
});
И следующий вызов в Vue methods
:
methods: {
user: function () {
this.$http.get('http://localhost:8080/auth/user').then(function (response) {
console.log(response);
});
}
}
then()
? Обычно я стараюсь предотвратить ошибки браузера (кроме ошибок HTTP). - person ssc-hrep3   schedule 08.04.2017