我可以在 Angular 应用程序中用什么替换 tap 方法?

Myc*_*ych 2 javascript rxjs typescript angular

我有以下代码作为 http 拦截器的一部分:

handler(next, request) {
    return next.handler(request)
        .pipe(
            tap(
                (event) => {
                    if (event instanceof HttpResponse) {
                        this.spinnerService.requestEnded();
                    }
                },
                (error: HttpErrorResponse) => {
                    this.spinnerService.resetSpinner();
                    throw error;
                }
            ),
        );
}
Run Code Online (Sandbox Code Playgroud)

它使用自 Angular 8 以来已弃用的 Tap(第 4 行)。如何替换 Tap?我所做的搜索并没有帮助我找到答案。谢谢。

小智 10

使用 { next, error } 对象

   tap({
       next: (event) => {
           if (event instanceof HttpResponse) {
               this.spinnerService.requestEnded();
           }
       },
       error: (error: HttpErrorResponse) => {
           this.spinnerService.resetSpinner();
           throw error;
       }
   })
Run Code Online (Sandbox Code Playgroud)