HTTP_INTERCEPTORS не вызывается с помощью angular6 - PullRequest
0 голосов
/ 21 марта 2019

Я хочу использовать загрузчик при каждом запуске запроса и скрывать загрузчик при завершении запроса. Я реализовал HTTP_INTERCEPTORS следующим образом:

import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';

@Injectable()
export class HttpConfigInterceptor implements HttpInterceptor {
    constructor() { }
    intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
        return next.handle(request).pipe(
            map((event: HttpEvent<any>) => {
                if (event instanceof HttpResponse) {
                    debugger;
                    console.log('event--->>>', event);                }
                return event;
            }));
    }
}

и я зарегистрировал HTTP_INTERCEPTOR в app.module.ts вот так

 providers: [ 
    { provide: HTTP_INTERCEPTORS, useClass: HttpConfigInterceptor, multi: true}
  ]

но когда я выполняю HTTP-вызов, метод перехвата не вызывается, нужно ли мне добавить что-то еще, кроме этого? Я следил за этим блогом , но я не в состоянии справиться с этим

метод перехвата инициируется, но при получении ответа или запроса соответствующий метод не вызывается.

например

когда я получу ответ, я бы хотел

if (event instanceof HttpResponse) {
                    debugger;
                    console.log('event--->>>', event);                }
                return event;
            }

чтобы выполнить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...