Спасибо, @Julien, что указали мне правильное направление.Посмотрев на ответ, я немного больше покопался в поисках решения, и ниже приведено решение, которое мне помогло
@Injectable()
export class AuthInterceptorService implements HttpInterceptor {
constructor(private _localStorageService: LocalStorageService, private _router: Router, private _location: Location) { }
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
if (req.url.includes("/login")) {
return next.handle(req);
}
let authToken: LocalStorage = this._localStorageService.getItem('auth-token');
if (authToken) {
return next.handle(
req.clone({
headers: req.headers.append('Authorization', 'jwt ' + authToken.value)
})
).pipe(tap((response: HttpResponse<any>) => {
console.log(response);
if (response instanceof HttpResponse) {
if (response.body.status == 401) {
this._router.navigate([Routes.LOGIN]);
return response;
}
}
}));
}
this._router.navigate(['/login']);
return empty();
}
}
Если кто-нибудь сталкивался с этой проблемой, обратитесь к: Маршрутизация Angluar2 внутри httpперехватчик
Принятый ответ не использует перехватчик http, но есть другой ответ, который использует перехватчик
Решение, которое я использовал, просто возвращает пустую наблюдаемую величину, используя empty()