Как мне перехватить AuthHttpError при выполнении запроса с AuthHttp?
У меня возникла проблема с возможностью поймать AuthHttpError
который возвращается из звонков в AuthHttp
в angular2-jwt
,
Всякий раз, когда AuthHttp
обнаруживает, что токен истек, он бросит AuthHttpError
без отправки запроса в бэкэнд. Я хотел бы поймать эту ошибку, чтобы я мог выйти из системы. Тем не менее, я не могу поймать это в Observable.catch()
,
Допустим, у меня есть такой код:
doRequest(url: string, params: string, jsonOptions: string) {
return this.http.post(url, params, jsonOptions)
.catch(response => {
if (response instanceof Response) {
console.info('handle server errors');
} else if (response instanceof AuthHttpError) {
console.info('handle AuthHttpError');
} else {
console.info('handle other Error')
}
return Observable.throw(response);
})
}
В этом случае, если токен истек, я хочу, чтобы консоль напечатала "handle AuthHttpError", но вместо этого она напечатает "handle other Error". Я также заметил, что в этом случае response.constructor.name
будет "Ошибка" вместо "AuthHttpError".
Кто-нибудь знает, есть ли способ отловить эту ошибку?