首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:无法读取未定义(读取‘Angular12’)管道的属性

错误:无法读取未定义(读取‘Angular12’)管道的属性
EN

Stack Overflow用户
提问于 2021-11-23 05:45:32
回答 1查看 201关注 0票数 0

我在发送ajax请求时出现以下错误,

代码语言:javascript
复制
ERROR TypeError: Cannot read properties of undefined (reading 'pipe')

ajax-loader.interceptor.ts类

代码语言:javascript
复制
 export class AjaxLoaderInterceptor implements HttpInterceptor {
 private loaderProp = 'ajax_loader';
 constructor(private activeAjaxLoadersService: ActiveAjaxLoadersService) {}

 intercept(
   request: HttpRequest<any>,
   httpHandler: HttpHandler
 ): Observable<HttpEvent<any>> {
   console.log('ajax loader', request);
   const loaderName = request.headers.has(this.loaderProp)
     ? request.headers.get(this.loaderProp)
     : null;
   console.log('loaderName', loaderName);
   const updatedHeaders = request.headers.has(this.loaderProp)
     ? request.headers.delete(this.loaderProp)
     : request.headers;
   const updatedRequest = request.clone({ headers: updatedHeaders });
   console.log('updatedHeaders', updatedHeaders, updatedRequest);
   this.updateLoaderState(loaderName, XHR_REQUEST_STATES.PROGRESS);

   return httpHandler.handle(updatedRequest).pipe(
     tap((event: HttpEvent<any>) => {
       console.log('httpHandler', event);
       if (event instanceof HttpResponse) {
         this.updateLoaderState(loaderName, 'success', event);
       }
     }),
     (responseError: any): any => {
       if (responseError instanceof HttpErrorResponse) {
       }
     }
   );
 }

Providers code:

代码语言:javascript
复制
providers: [
    {
      provide: HTTP_INTERCEPTORS,
      useClass: AjaxLoaderInterceptor ,
      multi: true
    }
  ]

同样的代码在angular 8中也可以工作,但在升级到v12之后就崩溃了。

我已经在stackblitz中创建了可重现的代码示例,请在Example此处找到它

任何帮助都将不胜感激。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-23 07:06:29

在ajax-loader.interceptor.ts文件中,在if条件后面添加return语句,如下所示

代码语言:javascript
复制
   if (responseError instanceof HttpErrorResponse) {
       }

    return responseError;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70075939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档