Я пытаюсь создать «перехватчик» для службы AuthHttp (angular2-jwt). Я создал класс, который расширяет AuthHttp и использует его. Пока все работает нормально. Теперь я хочу сделать это, если сервер отвечает кодом 401, чтобы заставить выйти из моего приложения и игнорировать следующие подписки (я не уверен, что эти подписки выполняются последовательно, поэтому я не знаю, m gonna ask возможно).Отменить наблюдаемую последовательность подписки в Angular 2
Поскольку я просто хочу показать ошибку в этом сценарии, мне просто нужно от этой подписки прервать очередь и игнорировать дальнейшие подписки. Вот код, который я получил до сих пор для метода получения:
get(url: string, options?: RequestOptionsArgs): Observable<Response> {
let observable = super.get(url, options);
observable.subscribe(
() => { },
(error: Response) => {
if (error.status === 401) {
// Logout and ignore all other subscriptions
}
}
);
return observable;
}
Возможно ли это?
Спасибо!
Спасибо за ответ, но я не понимаю, что бы я сделал с этим. В качестве теста я вставил ваш код и положил console.log с «unsubscribe». В другой подписке (в службе, которая вызывает rest api, используя .get() и подписывается на наблюдаемый), я написал еще один console.log с другой строкой. Оба они были напечатаны на консоли. Я хочу избежать того, что никакие другие обработчики ошибок этого наблюдаемого не выполняются. –
Тогда я не уверен, что понимаю ваш вопрос. Не могли бы вы попытаться объяснить проблему немного лучше? – yarons
Я создал APP, который требует входа в систему с REST API. При регистрации в приложении выдается токен jwt, который он хранит и использует для проверки всех защищенных вызовов api (с помощью AuthHttp). При получении данных я использую сообщение или получаю вызов и подписываюсь, чтобы получить его или показать ошибку (не мог подключиться или такой). Если сервер не может проверить вызов, он возвращает 401. Я хочу, чтобы связать функцию (как перехватчик), чтобы проверить каждый заверенный вызов, и если сервер вернет 401 силу выхода и пропустит все другие проверки ошибок, он может подписались, если это возможно. –