tap next, error

lee jae hwan·2022년 10월 6일
0

RxJS

목록 보기
21/21
  intercept(req: HttpRequest<any>, next: HttpHandler) {
    const started = Date.now();
    let ok: string;

    // 서버에서 받은 응답 옵저버블을 체이닝합니다.
    return next.handle(req)
      .pipe(
        tap({
          next:event => ok = event instanceof HttpResponse ? 'succeeded' : '',
          error:err=>ok='fail',
        }),
        
        finalize(() => {
          const elapsed = Date.now() - started;
          const msg = `${req.method} "${req.urlWithParams}" ${ok} in ${elapsed} ms.`;
          this.messenger.add(msg);
        })
      );
  }

tap오퍼레이터에 성공과 실패에따라 수행할 작업을 구분할 수 있다.

0개의 댓글