앵귤러 인터셉터는 HTTP 요청 데이터가 응답하기 전에 마무리됩니다.

스티븐 산

이것이 모든 Http 요청에 대한 로딩을 보여주기 위해 인터셉터를 구현하는 방법입니다.

 intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

       if(myCondition == true)
    {
        // my loading start showing here
        return next.handle(req).pipe(
        finalize(() => { 
                        // I hide my loading here 
                       })           );
    }
     return next.handle(req).pipe(
     finalize(() => { }));
    }

하지만 내 Http 요청에는 많은 데이터가 있으며 백엔드는 완료하는 데 거의 10 초가 걸립니다.
백엔드 작업이 완료된 후에 만 ​​로딩을 숨기면됩니다.
그러나 위의 코드를 사용하면 백엔드가 완료되기 전에 로딩이 숨겨집니다. 이 예제
와 같이 HttpRespond를 처리해야 합니까?

업데이트 :
원인을 찾았고 코드를 업데이트했습니다.
"if (myCondition == true)"조건이 있습니다. 조건이 true 인 경우에만로드를 표시합니다. 그러나 우리는 인터셉트 방법에 대한 반환을 가져야합니다.
그래서 나는이 조건 밖에 "반환"을 넣었습니다.
이 반환으로 인해 문제가 발생하므로 로딩이 사라집니다.
그렇다면 이와 같은 시나리오를 어떻게 고칠 수 있습니까?

Mridul

API 호출을하는 동안 특정 시나리오를 관리해야합니다.

intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

            this.loadingService.show(); //Initiate loader

        return next.handle(req).do((event: HttpEvent<any>) => {
            if (event instanceof HttpResponse) {
                this.loadingService.hide();
                //Closing loader when you receive reponse
            }
        }, (err: any) => {
            if (err instanceof HttpErrorResponse) {
                this.loadingService.hide();
               //Closing loader when you have Error
            }
        })
    }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

angularjs httpprovider 인터셉터가 사용자 지정 http 응답 헤더 (CORS 요청)에 액세스 할 수없는 이유는 무엇입니까?

분류에서Dev

요청 및 / 또는 응답을 보내기 전에 인터셉터에 데이터 전달

분류에서Dev

rxjs를 사용하여 다양한 요청에서 앵귤러 방식으로 데이터를 수집하려면 어떻게해야합니까?

분류에서Dev

내 앵귤러 인터셉터가 로컬 스토리지에서 토큰의 오래된 가치를 가져 오는 이유는 무엇입니까?

분류에서Dev

GetAsync 요청 데이터가 반환됩니다. 그러나 페이지는 서버에서 응답을 기다리고 있습니다. FormsAuthentication 문제?

분류에서Dev

요청 인터셉터에서 가짜 응답을 할 수 있습니까?

분류에서Dev

Angular 요청 인터셉터에서 이전 URL 가져 오기

분류에서Dev

SpringBoot : 인터셉터는 요청에서 특정 필드를 읽고 응답을 설정합니다

분류에서Dev

앵귤러 다트에서 앵귤러 머티리얼 테이블을 사용하는 방법

분류에서Dev

앵귤러 옵저버 블을 사용하여 패치 / 퍼팅하기 전에 데이터베이스에서 데이터를 어떻게 확인합니까?

분류에서Dev

앵귤러 팩토리에서 데이터를 가져 오는 Firebase

분류에서Dev

HTTP 요청 및 응답의 데이터 크기 가져 오기

분류에서Dev

크기가 0 인 응답 : Squid는이 요청에 대한 데이터를받지 못했습니다.

분류에서Dev

Restanglar. 요청 인터셉터에서 응답 포착

분류에서Dev

다른 요청 (URL)에 대해 인터셉터를 분할하는 방법은 무엇입니까?

분류에서Dev

응답의 반환 된 데이터를 확인하는 http 요청에 대한 테스트를 작성하는 방법은 무엇입니까?

분류에서Dev

여러 http 요청에서 데이터를 가져 오는 NodeJS

분류에서Dev

앵귤러 스트랩 팝 오버로 데이터를 전달하는 방법

분류에서Dev

SoapEnvelopeLoggingInterceptor : 로깅 요청과 응답 사이에 데이터를 기억하는 방법은 무엇입니까?

분류에서Dev

다른 상태의 앵귤러 UI 라우터에서 데이터를 가져 오는 방법

분류에서Dev

앵귤러 8에서 여러 필터 적용 및 API 응답 정렬

분류에서Dev

구독하기 전에 다른 요청으로 http 응답을 반복하여 초기 응답을 확장하는 방법은 무엇입니까?

분류에서Dev

앵귤러 리피터에서 루프 중에 if 조건을 추가하는 방법

분류에서Dev

http 요청 데이터를 다른 컨트롤러에 바인딩

분류에서Dev

인증에 실패하면 Angular $ http 인터셉터가 여러 모달을 엽니 다.

분류에서Dev

Hadoop gcs 커넥터에서 http 요청 / 응답 로그를 활성화하는 방법은 무엇입니까?

분류에서Dev

Android에서 여러 http 요청 및 데이터베이스 쿼리를 Rxjava와 결합하는 방법

분류에서Dev

앵귤러 (http)에서 자바 스프링 백엔드로의 모든 요청을 가로채는 노드 서버

분류에서Dev

앵귤러 스프링 부트를 사용하여 localhost에서 데이터 가져 오기

Related 관련 기사

  1. 1

    angularjs httpprovider 인터셉터가 사용자 지정 http 응답 헤더 (CORS 요청)에 액세스 할 수없는 이유는 무엇입니까?

  2. 2

    요청 및 / 또는 응답을 보내기 전에 인터셉터에 데이터 전달

  3. 3

    rxjs를 사용하여 다양한 요청에서 앵귤러 방식으로 데이터를 수집하려면 어떻게해야합니까?

  4. 4

    내 앵귤러 인터셉터가 로컬 스토리지에서 토큰의 오래된 가치를 가져 오는 이유는 무엇입니까?

  5. 5

    GetAsync 요청 데이터가 반환됩니다. 그러나 페이지는 서버에서 응답을 기다리고 있습니다. FormsAuthentication 문제?

  6. 6

    요청 인터셉터에서 가짜 응답을 할 수 있습니까?

  7. 7

    Angular 요청 인터셉터에서 이전 URL 가져 오기

  8. 8

    SpringBoot : 인터셉터는 요청에서 특정 필드를 읽고 응답을 설정합니다

  9. 9

    앵귤러 다트에서 앵귤러 머티리얼 테이블을 사용하는 방법

  10. 10

    앵귤러 옵저버 블을 사용하여 패치 / 퍼팅하기 전에 데이터베이스에서 데이터를 어떻게 확인합니까?

  11. 11

    앵귤러 팩토리에서 데이터를 가져 오는 Firebase

  12. 12

    HTTP 요청 및 응답의 데이터 크기 가져 오기

  13. 13

    크기가 0 인 응답 : Squid는이 요청에 대한 데이터를받지 못했습니다.

  14. 14

    Restanglar. 요청 인터셉터에서 응답 포착

  15. 15

    다른 요청 (URL)에 대해 인터셉터를 분할하는 방법은 무엇입니까?

  16. 16

    응답의 반환 된 데이터를 확인하는 http 요청에 대한 테스트를 작성하는 방법은 무엇입니까?

  17. 17

    여러 http 요청에서 데이터를 가져 오는 NodeJS

  18. 18

    앵귤러 스트랩 팝 오버로 데이터를 전달하는 방법

  19. 19

    SoapEnvelopeLoggingInterceptor : 로깅 요청과 응답 사이에 데이터를 기억하는 방법은 무엇입니까?

  20. 20

    다른 상태의 앵귤러 UI 라우터에서 데이터를 가져 오는 방법

  21. 21

    앵귤러 8에서 여러 필터 적용 및 API 응답 정렬

  22. 22

    구독하기 전에 다른 요청으로 http 응답을 반복하여 초기 응답을 확장하는 방법은 무엇입니까?

  23. 23

    앵귤러 리피터에서 루프 중에 if 조건을 추가하는 방법

  24. 24

    http 요청 데이터를 다른 컨트롤러에 바인딩

  25. 25

    인증에 실패하면 Angular $ http 인터셉터가 여러 모달을 엽니 다.

  26. 26

    Hadoop gcs 커넥터에서 http 요청 / 응답 로그를 활성화하는 방법은 무엇입니까?

  27. 27

    Android에서 여러 http 요청 및 데이터베이스 쿼리를 Rxjava와 결합하는 방법

  28. 28

    앵귤러 (http)에서 자바 스프링 백엔드로의 모든 요청을 가로채는 노드 서버

  29. 29

    앵귤러 스프링 부트를 사용하여 localhost에서 데이터 가져 오기

뜨겁다태그

보관