在需要进行错误处理的Angular应用里,从rxjs里导入catchError:

import { catchError, map, tap } from 'rxjs/operators';
getHeroes(): Observable<Hero[]> {return this.http.get<Hero[]>(this.heroesUrl).pipe(catchError(this.handleError<Hero[]>('getHeroes', [])));}

The catchError() operator intercepts an Observable that failed. It passes the error an error handler that can do what it wants with the error.

catchError这个操作符可以拦截发生错误的Observable, 将其传递给应用程序指定的错误处理方法去。

handleError的方法实现:

/*** Handle Http operation that failed.* Let the app continue.* @param operation - name of the operation that failed* @param result - optional value to return as the observable result*/
private handleError<T>(operation = 'operation', result?: T) {return (error: any): Observable<T> => {// TODO: send the error to remote logging infrastructureconsole.error(error); // log to console instead// TODO: better job of transforming error for user consumptionthis.log(`${operation} failed: ${error.message}`);// Let the app keep running by returning an empty result.return of(result as T);};
}

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

Angular应用里HTTP请求的错误处理相关推荐

  1. 关于Angular使用http发送请求后的响应处理

    源代码: import { Component, OnInit } from '@angular/core'; import { FormControl } from '@angular/forms' ...

  2. angluar ajax实例,Angular服务Request异步请求的实例讲解

    首先这里我简单写个例子来方便您的理解 var request = { post: function() { var errorCallback = { error: function(f) { thi ...

  3. Angular Img标签自定义请求header Authorization

    Angular Img标签自定义请求header Authorization 背景 是这样的需求,有一个web页面,里面图片的上传和预览来自于一个独立的文件服务器,对http的请求需要进行访问权限的设 ...

  4. http数字请求 (错误请求聚合)

    http数字请求 (错误请求聚合) 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分.(HTTP 1.1新) 101 Switching Protocols 服务器将遵从客 ...

  5. 【Angular中的HTTP请求】- 拦截器 HttpInterceptor 详解

    通过学习 HttpClient 的工作机制 ,我们知道对于HTTP请求,HttpClient 实际上是构建了一个链式的处理流程: 在HttpBackend的处理流程中请求被发出.在HttpBacken ...

  6. Angular 项目里 angular.json 文件内容的学习笔记

    看一个基于 Angular 的 SAP Spartacus 项目里 angular.json 的例子: version: The configuration-file version. newProj ...

  7. Angular应用里setTimeout被如何被monkey patched的

    monkey patched: monkey patch指的是在运行时动态替换,一般是在startup的时候. 下面的测试代码可以让我们弄清楚,浏览器支持的原生函数setTimeout,是如何在Ang ...

  8. Angular应用里的tsconfig.app.json

    tsconfig.app.json是tsconfig.json的扩展: 在应用工程文件angular.json里的tsConfig字段处被引用: ng build后的输出: 2020年10月4日国庆节 ...

  9. Angular应用里的Template Reference变量

    Angular应用里的Template Reference Variable,模板引用变量,用于创建一个对模板里DOM元素或者Angular指令的引用. 使用#号定义一个模板引用变量. 看个具体的例子 ...

最新文章

  1. 1642: [Usaco2007 Nov]Milking Time 挤奶时间(dp)
  2. 左耳朵耗子论微服务 Serverless 及 FaaS | GIAC 访谈
  3. 控制反转(ioc)和 面向切面(AOP)
  4. MVCToolKit中HtmlHelper.ActionLink的BUG?
  5. NLP(新闻文本分类)——基于机器学习的文本分类
  6. Windows下安装MySQL
  7. 计算机专业薪资首超金融,“年薪20万”大学专业排名出炉,人工智能蝉联榜首,金融无缘前五...
  8. SSM中异常的几种处理方式
  9. smtplib,发送邮件时的bug
  10. 格林时间转yyyy-MM-dd hh:mm:ss
  11. CMD下复制文件和文件夹
  12. python快递价格查询系统
  13. 程序员从互联网跳央企,晒一天工作和收入
  14. android fragment横屏,Fragment横竖屏
  15. 【WMCA】《Biometric Face Presentation Attack Detection with Multi-Channel Convolutional Neural Network》
  16. 算符优先分析法-java实现
  17. EasyNVS摄像机公网全终端无插件网页摄像机直播管理服务EasyNVS如何在内网环境下与外网和公网对接
  18. 又一创新!阿里云 Serverless 调度论文被云计算顶会 ACM SoCC 收录
  19. CASIA手写体数据集HWDB1.0 gnt和dgrl格式解析
  20. android解析解析数据格式文件,android 解析nmea原始数据

热门文章

  1. 【转】搭建Java版WebService
  2. 微架构设计:微博计数器的设计
  3. Android菜鸟的成长笔记(5)——Android系统源代码你下载了吗?
  4. JAVA框架Struts2 结果页配置
  5. sudo su 与 su
  6. Chrome 自动填充的表单是淡黄色的背景怎么办!
  7. redis 源码 zmalloc.c 实现
  8. mybatis Resultmap 与 ResultType 区别
  9. nodeJs 是什么?你需要先想清楚这个问题,才能学习nodejs (介绍)
  10. 文献学习(part49)--机器学习面临的挑战