Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 

21 righe
690 B

  1. import { Injectable } from '@angular/core';
  2. import { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';
  3. import {finalize, Observable} from 'rxjs';
  4. import {LoadingService} from "@app/_services/loading.service";
  5. @Injectable()
  6. export class LoadingInterceptor implements HttpInterceptor {
  7. constructor(
  8. private loadingService: LoadingService
  9. ) { }
  10. intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
  11. this.loadingService.setLoading(true);
  12. return next.handle(request).pipe(
  13. finalize(() => {
  14. this.loadingService.setLoading(false);
  15. })
  16. );
  17. }
  18. }